所以我在我的故事板中创建了一个ViewControl,它有3个子视图。每个代表我想要显示的不同视图,具体取决于在前一个屏幕(NavControl)上选择的表行。我首先检查通过Attributes Inspector的“hidden”属性隐藏的所有子视图。每个视图中的所有对象都不是隐藏的,而是被隐藏的,因为子视图本身是隐藏的(显然)。以为我可以使用tag属性我给了三个子视图中的每个子标签一个标签(0,1和2),但无法弄清楚如何使用它(以防万一这对我来说是有用的如何做到这一点我想在这里提一下。)
那么,我如何显示然后隐藏这些子视图?我不想在子视图中浏览每个对象并将其隐藏属性切换为true / false我觉得我应该能够“显示/隐藏”整个子视图。从而实现了相同的结果,但更为简洁。
我无法通过网络搜索或stackoverflow搜索找到任何可以帮助我的内容。
我的代码非常简单。我捕获在上一个屏幕中选择的行,并将其传递给包含子视图的详细信息屏幕上的变量。我知道这是有效的,因为我在详细信息屏幕viewDidLoad函数上设置了println()。所以现在我所要做的就是进入每个条件并告诉它要显示和/或隐藏哪个子视图。
谢谢,我感谢所有这些社区的帮助!没有它,我会迷失方向。
答案 0 :(得分:52)
使用此选项隐藏swift中的视图
viewVar.isHidden = true
答案 1 :(得分:21)
如果您有每个视图的标签,您可以使用以下方式隐藏和显示它们:
隐藏:
[[self.view viewWithTag:1] setHidden:YES];
显示:
[[self.view viewWithTag:1] setHidden:NO];
隐藏:
self.view.viewWithTag(1)?.isHidden = true
显示:
self.view.viewWithTag(1)?.isHidden = false
注意:将1
替换为您的代码值。
答案 2 :(得分:20)
您应该为三个子视图中的每一个创建IBOutlet
个。然后,您可以直接从这些引用中显示/隐藏它们中的每一个。如果隐藏视图,它将自动隐藏其子视图。
一旦有了视图的插座,就可以这样做:
viewYouWantToHide.isHidden = true
答案 3 :(得分:10)
然而,isHidden的事实是检查状态的命名约定,并且是一个getter方法 但尽管在swift中我们使用它作为setter和getter属性
view.isHidden = true