UIViewにaddsubviewしたviewにアクセスして何か操作を行う

  • by

動的に追加したviewに対して後から何かを行う際に該当のViewを探して操作を行います

// この中にsubviewをいれる
let wrapView = UIView()

func myfunction(){
    let subview = UIView()
    //探しやすいようにtagを設定
    subview.tag = 10 
    wrapView.addSubview(wrapView)
}

func searchSubView(){
    for subView in wrapView.subviews {
        if subView.tag == 10 {
            //ここでsubviewに対する処理
            subView.backgroundColor = .black
        }
    }
}

こんな感じで処理すると簡単です

tagを使いたくない場合や使えない場合はその他の操作で該当のViewを判別してください

subviewがUIButtonの場合は下記のような処理に

func searchSubView(){
    for subView in wrapView.subviews {
        if let button = subView as? UIButton {
            //ボタンに何か処理
            button.tintColor = .black
        } 
    }
}

こんな感じでキャストしてから処理すれば簡単ですね

タグ: