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