我有一个相当复杂的 UIView,其中包含几个嵌套视图,这些视图根据各种响应显示 - 所有这些都在情节提要中布置。
有没有办法在前台隐藏视图以处理后台视图?因为它真的很繁琐地选择特定元素来排列/风格!?
我有一个相当复杂的 UIView,其中包含几个嵌套视图,这些视图根据各种响应显示 - 所有这些都在情节提要中布置。
有没有办法在前台隐藏视图以处理后台视图?因为它真的很繁琐地选择特定元素来排列/风格!?
我有 2 个解决方法。
A) 将视图控制器大小更改为自由形式。将其大小设置为非常大,以便我可以隔开视图。
B)使用视图文档大纲的排序顺序(最低是最前面)并在第一个视图下添加一个图像视图(与视图背景相同)以阻止其他视图。然后在完成我的编辑后将其删除。
或者 xcode 开发人员可以简单地为视图和控件添加一个设计可见的复选框......但我会把我的咆哮带到其他地方。
我一直在试图找出一个很好的方法来做到这一点,一些功能,比如从情节提要中隐藏视图及其子视图(而不是从实际应用程序中),但找不到任何东西。
这不是最好的方法,但这是我目前的做法......
我所做的是从文档大纲中选择我想要“隐藏”的视图,并将一个常量(屏幕宽度/高度)值添加到其 x/y 原点值以将它们推出屏幕。我还将这些视图的文档标签(Identity Inspector > Document > Label)更改为“隐藏”之类的内容,以便稍后从文档大纲中搜索“隐藏”视图并将它们放回它们所属的位置。
也许这可以帮助你:
在 Finder 中打开故事板并使用简单的文本编辑器(不是 xcode)进行编辑。您将看到它只是一个 xml 文件。查找您要隐藏的视图,并在参数列表中添加 hidden="YES"。这就是我在自己的项目中所做的。
在 Xcode 中,当您选择故事板时,您将拥有一个面板,显示所有视图控制器及其层次结构。如果更改元素的顺序,则会更改背景/前景顺序。
您可以向场景停靠栏添加额外的视图。
这些视图与视图控制器一起启动,但不会添加到视图控制器的视图层次结构中。您可以使用 IBOutlets 引用它们。
例如,我有一个全屏加载视图,我将其添加到场景停靠栏中,而不是在情节提要中隐藏视图控制器。我可以在代码中将加载视图添加到视图控制器的视图层次结构中:
@IBOutlet weak var loadingView: UIView!
...
loadingView.frame = view.bounds
loadingView.autoresizingMask = UIViewAutoresizing.FlexibleWidth.union(UIViewAutoresizing.FlexibleHeight)
view.addSubview(loadingView)