从子视图中使用remove与ishidden有什么区别?我需要一个用户无法访问的按钮。确保用户无法访问该按钮会更好,更安全?这两种方法之间有什么区别,除了这里提到的这两种方法之外,还有更好的方法吗?Ishidden vs从子视图中删除
0
A
回答
2
简单的公式是“如果你没有需要在今后的视图/子视图,只是做removeFromSuperView否则隐藏和显示视图/子视图”。
哪一个更好?取决于你的要求。在大多数情况下,最好隐藏一个View,如果需要在发生某些事件时再次显示。
在这里你去的差异:
是否隐藏:
隐藏视图从窗口消失,并且不接收输入 事件。然而,它仍然在其超级浏览的子视图列表中,并且 像往常一样参与自动调整。隐藏子视图的视图有 隐藏这些子视图和 可能具有的任何视图后代的效果。这种效果是隐含的,不会改变接收者后代的隐藏状态。隐藏视图即 窗口当前的第一响应者会导致视图的下一个有效关键视图 成为新的第一响应者。
removeFromSuperView:
从解除链接它的父和其窗口中的视图,并删除它 从响应链。如果视图的超视图不为零,则超视图会释放该视图。调用此方法将删除任何引用您要删除的视图的 约束,或删除要删除的视图的子树中的任何视图的 约束。
0
isHidden
只会隐藏按钮,并可以在必要时显示。如果你使用remove from subView
那么你基本上从内存中删除它。在这种情况下,当你想显示该按钮时,你将不得不实例化或创建一个新按钮。为了使其无法访问,您还可以将isEnabled
属性设置为false。通过这种方式,按钮将显示,但不会使用。
相关问题
- 1. 动画UIView isHidden子视图
- 2. 从View删除子视图?
- 3. 从UIBarButtonItem中删除徽章子视图
- 4. 从MapPin中删除子视图
- 5. 如何从navigationController中删除子视图?
- 6. 如何从scrollview中删除子视图?
- 7. 从UIScrollView中删除所有子视图?
- 8. 如何从Superview中删除子视图?
- 9. 从UIViewController中删除一个子视图
- 10. 从子视图中删除阴影
- 11. 从子视图中删除对象
- 12. UIViewController中删除子视图
- 13. 从外部删除其他子视图时的子视图
- 14. 从getView中删除视图
- 15. 从TabBarController中删除视图
- 16. 从视图中删除UITextField
- 17. 从视图中删除Imageview
- 18. 从视图中删除UIToolBar
- 19. 从视图中删除UIView
- 20. 从ScrollView中删除视图
- 21. 从视图中删除UINavigationBar
- 22. 从子视图中删除视图不会调用willRemoveSubview
- 23. Monotouch:从视图中删除所有子视图
- 24. NSView从超级视图中删除一些子视图
- 25. 从其SuperView中删除视图,在iPhone上通知子视图
- 26. xcode从视图中删除一些子视图
- 27. 从不存在的视图中删除子视图
- 28. 从UITableViewCell的内容视图中删除子视图
- 29. 无法从视图中删除子视图?
- 30. 从视图中删除所有子视图
就像关键字所说的那样简单 - > #1隐藏表示视图在那里,但不会在设备的屏幕上可见。你可以通过设置它可见(isHidden = false)来显示它 #2一旦我们删除任何视图将从VC视图的子视图栈中删除 希望这可以帮助你。 谢谢 –