swift 列出UIViewcontroller中的所有子视图
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift 列出UIViewcontroller中的所有子视图相关的知识,希望对你有一定的参考价值。
extension UIView {
private var viewInfo: String {
return "\(classForCoder), frame: \(frame))"
}
private func subviews(parentView: UIView, level: Int = 0, printSubviews: Bool = false) -> [UIView] {
var result = [UIView]()
if level == 0 && printSubviews {
result.append(parentView)
print("\(parentView.viewInfo)")
}
for subview in parentView.subviews {
if printSubviews {
print("\(String(repeating: "-", count: level))\(subview.viewInfo)")
}
result.append(subview)
if subview.subviews.count != 0 {
result += subviews(parentView: subview, level: level+1, printSubviews: printSubviews)
}
}
return result
}
var allSubviews: [UIView] {
return subviews(parentView: self)
}
func printSubviews() {
_ = subviews(parentView: self, printSubviews: true)
}
}
//USAGE
view.printSubviews()
print("\(view.allSubviews.count)")
以上是关于swift 列出UIViewcontroller中的所有子视图的主要内容,如果未能解决你的问题,请参考以下文章
如何列出iOS中uiviewcontroller中的所有子视图?
在 Swift 中动态创建 uiviewcontroller
Swift - 在 UIViewController 中防止返回事件
在 Swift 2.3 中导航到 UIViewController
Swift - 从 NavigationController 中的 UIViewController 转到 TabBarController 中的 UIViewController
Swift 中的 UIViewcontroller 实例 [重复]