見出し画像

【徒然iOS】気ままにUIKit105〜Outlet Collection 部品を配列に格納して使う〜

概要

このマガジンは四十を過ぎたおっさんが、

を参考にStoryboardでiOSアプリを完全に趣味で楽しんでいるだけな記事を気ままに上げてます。

今回

をハイ、レッツゴ🕺

前準備

念の為、

  1. バックアップ

  2. 新規クラスを追加

  3. 新規ビューを追加

をいつもどおりやってから本題へ💃

こんな感じかな💦

本題

アウトレットコレクションとは、

部品を格納した配列とソースコードのコネクションを確立する機能

👉要は、

複数の部品をまとめて管理できる機能ってことでしょ👀

⒈ビューにラベル4つとボタンを1個配置

AutoLayoutが面倒くさいので、
VerticalStackViewで、pinを全部0にして〜〜〜
てな感じで
Fill Equallyにしてから、ラベルとボタンを配置〜〜〜
見やすいように文字サイズを変更して中央揃えに〜〜〜

⒉ラベルをアウトレットコレクション接続

てな感じにして〜〜〜
ハイ、UIパーツ名が[]で囲まれて配列での管理になった🕺

⒊他のラベルとも接続

てな感じで〜〜〜
やりまする〜〜〜

⒋ボタンをアクション接続

てな感じで〜〜〜

⒌コード組み込み

//
//  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
        }
    }
}

⒍シミュレータで実行

起動直後〜〜〜
変わったけど、目がチカチカする👀

使うか?
と聞かれても、あんまり使わないなあ。

ボタンやラベルて必要な分だけ1対1で対応させるし。
並んだボタンやらを一気にオフにしたい時くらいしかないし。

ブラッシュアップ

てな感じで、ラベルとボタンの表示や色を変更して〜〜
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
        }
    }
}

に変更してシミュレータを実行すると〜〜〜

変更ボタンをタップ
だいぶチカチカしなくなったな💦

いつも通り、🌐ボタンを追加して〜〜〜

てな感じで💦

記事公開後、

ハイ、完了💃
実機も問題無し🕺

Apple公式

適当なドキュメントが見当たらないので割愛💦

さてと、次回は

をレッツゴする🕺

で軽くやった内容だねえ

この記事が気に入ったらサポートをしてみませんか?