osx – 如何在Swift中删除视图的所有子视图?
发布时间:2020-12-14 06:13:39 所属栏目:百科 来源:网络整理
导读:我正在寻找一个简单的方法,从一个超级视图一次删除所有的子视图,而不是一个一个地删除。 //I'm trying something like this,but is not workinglet theSubviews : Array = container_view.subviewsfor (view : NSView) in theSubviews { view.removeFromSu
我正在寻找一个简单的方法,从一个超级视图一次删除所有的子视图,而不是一个一个地删除。
//I'm trying something like this,but is not working let theSubviews : Array = container_view.subviews for (view : NSView) in theSubviews { view.removeFromSuperview(container_view) } 我缺少什么? 更新 我的应用程序有一个主container_view。我必须添加不同的其他视图作为子视图到container_view为了提供一种导航。 所以,当点击按钮“打开”一个特定的页面,我需要删除所有的视图,并添加一个新的。 更新2 – 工作解决方案(OS X) 我猜苹果固定它。 现在它比以往更容易,只需调用: for view in containerView.subviews{ view.removeFromSuperview() }
编辑:(感谢Jeremiah / Rollo)
到目前为止,在Swift for iOS中最好的做法是: view.subviews.forEach({ $0.removeFromSuperview() }) // this gets things done view.subviews.map({ $0.removeFromSuperview() }) // this returns modified array ^^这些功能很有趣! let funTimes = ["Awesome","Crazy","WTF"] extension String { func readIt() { print(self) } } funTimes.forEach({ $0.readIt() }) //// END EDIT 只要这样做: for view in self.view.subviews { view.removeFromSuperview() } 或者如果你正在寻找一个特定的类 for view:CustomViewClass! in self.view.subviews { if view.isKindOfClass(CustomViewClass) { view.doClassThing() } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |