iPhone-我如何隐藏视图并让它';s空间可供其他视图使用(如android visibility=GONE)

iPhone-我如何隐藏视图并让它';s空间可供其他视图使用(如android visibility=GONE),iphone,animation,uiview,visibility,show-hide,Iphone,Animation,Uiview,Visibility,Show Hide,您知道一种简单(或不简单)的方法来隐藏一个视图(或类似视图的任何东西),并让屏幕的其他视图使用留空的位置吗?当显示该视图时,请做相反的操作。类似于Android Visibility=GONE的图层 谢谢许多UIKit类都有一个属性隐藏,它满足您的需要。它是在UIView中定义的,因此您可以在您使用的大多数视觉元素中找到它。没有可见性。就我的研究所示,即使是AutoLayout也帮不了您。您必须手动替换受可选显示组件影响的视图(在我的情况下,是bottomView上optionalView下面的

您知道一种简单(或不简单)的方法来隐藏一个视图(或类似视图的任何东西),并让屏幕的其他视图使用留空的位置吗?当显示该视图时,请做相反的操作。类似于Android Visibility=GONE的图层


谢谢

许多UIKit类都有一个属性
隐藏
,它满足您的需要。它是在UIView中定义的,因此您可以在您使用的大多数视觉元素中找到它。

没有可见性。就我的研究所示,即使是AutoLayout也帮不了您。您必须手动替换受可选显示组件影响的视图(在我的情况下,是bottomView上optionalView下面的所有视图):


建议不要硬编码可选组件的高度,否则每次编辑XIB/情节提要时代码都会中断。我在viewDidLoad中设置了一个字段float _optionalHeight,因此它始终是最新的。

就我所看到的,隐藏只是隐藏视图,而不会让其他视图使用空白的空间。如果您只想看到隐藏视图后面的视图,这就可以了。另一种方法是将视图发送到视图层次结构的后面,上面有不透明的视图。如果您真的想让视图调整大小并平铺以适应屏幕的某个区域,您可以通过多种方式向视图类发出信号,但要调整大小,您需要编写一些代码。您应该发布一些代码,以便知道您希望在何处使用该功能。。。
- (IBAction)toggleOptionalView:(id)sender {
    if (!_expanded) {
        self.optionalView.frame = CGRectMake(self.optionalView.frame.origin.x, self.optionalView.frame.origin.y, self.optionalView.frame.size.width, _optionalHeight);
        self.bottomView.frame = CGRectMake(self.bottomView.frame.origin.x, self.bottomView.frame.origin.y+_optionalHeight, self.bottomView.frame.size.width, self.bottomView.frame.size.height);
        _expanded = YES;
    } else {
        self.optionalView.frame = CGRectMake(self.optionalView.frame.origin.x, self.optionalView.frame.origin.y, self.optionalView.frame.size.width, 0);
        self.bottomView.frame = CGRectMake(self.bottomView.frame.origin.x, self.bottomView.frame.origin.y-_optionalHeight, self.bottomView.frame.size.width, self.bottomView.frame.size.height);
        _expanded = NO;

    }
}