![見出し画像](https://assets.st-note.com/production/uploads/images/102151950/rectangle_large_type_2_97e437a7d593b44ae3eb317741daea07.png?width=800)
【徒然iOS】気ままにUIKit105〜Outlet Collection 部品を配列に格納して使う〜
概要
このマガジンは四十を過ぎたおっさんが、
を参考にStoryboardでiOSアプリを完全に趣味で楽しんでいるだけな記事を気ままに上げてます。
今回
をハイ、レッツゴ🕺
前準備
念の為、
バックアップ
新規クラスを追加
新規ビューを追加
をいつもどおりやってから本題へ💃
![](https://assets.st-note.com/img/1680672668175-SISJHtJFKQ.png?width=800)
本題
アウトレットコレクションとは、
部品を格納した配列とソースコードのコネクションを確立する機能
👉要は、
複数の部品をまとめて管理できる機能ってことでしょ👀
⒈ビューにラベル4つとボタンを1個配置
![](https://assets.st-note.com/img/1680672828053-V6iqVvx33b.png?width=800)
VerticalStackViewで、pinを全部0にして〜〜〜
![](https://assets.st-note.com/img/1680672914816-i5Bcel3nO0.png?width=800)
Fill Equallyにしてから、ラベルとボタンを配置〜〜〜
![](https://assets.st-note.com/img/1680672973576-V4VhSlx8NQ.png?width=800)
⒉ラベルをアウトレットコレクション接続
![](https://assets.st-note.com/img/1680673084673-WbNJK9wOtq.png?width=800)
![](https://assets.st-note.com/img/1680673098110-tyA5NLcgZ6.png?width=800)
⒊他のラベルとも接続
![](https://assets.st-note.com/img/1680673206813-dWlC7EaxHI.png?width=800)
![](https://assets.st-note.com/img/1680673218428-k23XjjvTon.png?width=800)
⒋ボタンをアクション接続
![](https://assets.st-note.com/img/1680673276131-BKrBRJiwKt.png?width=800)
⒌コード組み込み
//
// ViewController.swift
//
import UIKit
class ViewController: UIViewController {
//アウトレットコレクションで接続したラベル
@IBOutlet var labelCollection: [UILabel]!
//最初からあるメソッド
override func viewDidLoad() {
super.viewDidLoad()
}
//ボタン押下時の呼び出しメソッド
@IBAction func pushButton(sender: AnyObject) {
//ラベルの背景色を変更する。
for testLabel in labelCollection {
testLabel.backgroundColor = UIColor.redColor()
}
}
}
を参考に〜〜〜
今回のコード
class OutletCollectionViewController: UIViewController {
@IBOutlet var myLabel: [UILabel]!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func myChageColor(_ sender: UIButton) {
//ラベルの背景色を変更する。
for labelCount in myLabel {
labelCount.backgroundColor = UIColor.red
}
}
}
⒍シミュレータで実行
![](https://assets.st-note.com/img/1680673507057-3O9UHsKedF.png?width=800)
![](https://assets.st-note.com/img/1680673531503-uxwjE6bKS8.png?width=800)
使うか?
と聞かれても、あんまり使わないなあ。
ボタンやラベルて必要な分だけ1対1で対応させるし。
並んだボタンやらを一気にオフにしたい時くらいしかないし。
ブラッシュアップ
![](https://assets.st-note.com/img/1680674112163-8ghk01XOcX.png?width=800)
class OutletCollectionViewController: UIViewController {
@IBOutlet var myLabel: [UILabel]!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func myChageColor(_ sender: UIButton) {
//ラベルの背景色を変更する。
for labelCount in myLabel {
labelCount.backgroundColor = UIColor.orange
labelCount.textColor = UIColor.white
}
}
}
に変更してシミュレータを実行すると〜〜〜
![](https://assets.st-note.com/img/1680674334434-xrwFOaZ48b.png?width=800)
![](https://assets.st-note.com/img/1680674363487-kgc3GKMGS7.png?width=800)
いつも通り、🌐ボタンを追加して〜〜〜
![](https://assets.st-note.com/img/1680674825639-YZbxok2klX.png?width=800)
記事公開後、
![](https://assets.st-note.com/img/1680674815081-dnkECIa3Sx.png?width=800)
実機も問題無し🕺
Apple公式
適当なドキュメントが見当たらないので割愛💦
さてと、次回は
をレッツゴする🕺
で軽くやった内容だねえ
この記事が気に入ったらサポートをしてみませんか?