我已将一堆容器视图叠加在一起,并根据屏幕上其他位置的用户点击隐藏/取消隐藏,如下所示:
[self.childViewControllers[13] view].hidden = NO;
隐藏/取消隐藏工作正常但是只有其中一个允许使用它上面的控件.....它是最顶层的。
如何隐藏/取消隐藏用户点击,请如何重新排序?
我现在根据昨天的答案尝试了以下内容:
UIView *x = self.childViewControllers[12];
[self.view bringSubviewToFront:x];
但是它给出了错误
无法识别的选择器发送到实例
我也尝试过:
UIView *x = self.childViewControllers[12];
x.layer.zPosition = 100;
给出了相同的错误消息 非常感谢
答案 0 :(得分:3)
我遇到了同样的问题。 似乎在使用容器视图时,实际的内容视图控制器视图放在透明容器视图中。因此,如果您想真正隐藏显示View v的Container View,您应该使用
v.superview.hidden = YES
而不是
v.hidden = YES
答案 1 :(得分:2)
[self.view bringSubviewToFront:desiredView]
这样可以更好地解决您的问题。
答案 2 :(得分:0)
您可以使用以下内容将任何子视图带到(重新排序): -
viewToBeShown.hidden=FALSE;
[self.view bringSubviewToFront:viewToBeShown];
此方法将viewToBeShown置于self.view中每个子视图的顶部
希望它会对你有所帮助。
答案 3 :(得分:0)
只需从故事板到func setViewEnabled(view:UIView, enabled:Bool)
{
view.hidden = !enabled
view.userInteractionEnabled = enabled
}
,然后隐藏它!
在swift:
{{1}}