LoginSignup
2
1

More than 5 years have passed since last update.

指定した子のViewクラスを取得する処理を作成してみた

Last updated at Posted at 2017-07-31

タグを使用せずに
特定の子のViewを取得する処理を作成してみた

UIView+getSubView.swift
extension UIView {
    func getSubView(checkClass : AnyClass) -> AnyObject? {    
        //子のViewを取得
        for subView in self.subviews {
            //その子のViewが引数のクラスだったらそのオブジェクトを返す
            if type(of: subView) == checkClass {
                return subView
            } else {
                //違ったら下のViewを再起的にチェックし、見つかったらそのViewを返す
                if let view = subView.getSubView(checkClass : checkClass ) {
                    return view
                }
            }
        }  
        return nil
    }
}

使用する時は
self.view.getSubView(checkClass : UIView.self)
とするだけ

2
1
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1