タグを使用せずに
特定の子の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)
とするだけ