iOS 添加视图:来自故事板的广告视图,无限制

Posted

技术标签:

【中文标题】iOS 添加视图:来自故事板的广告视图,无限制【英文标题】:iOS addView: Adds view from story board without constraints 【发布时间】:2015-05-01 19:49:39 【问题描述】:

我在情节提要中有一个视图,其中显示了一条错误消息。我在加载时使用

删除它
[self.ErrorView removeFromSuperView];

稍后在代码中,我想显示视图,使用

[self.MainView addSubview:self.ErrorView];

这确实显示了视图,但视图仅根据 in 中的内容调整大小,而在故事板上,它使用“前缘/后缘”约束来调整到全宽。

如何刷新视图的约束以匹配情节提要上的约束。

【问题讨论】:

This question 可能有助于解释发生了什么以及该做什么。当你移除一个视图时,约束也会被移除。 【参考方案1】:

据我了解,您只想在UIViewController 中显示和隐藏视图?如果这是您的目的,您应该使用以下代码:

self.ErrorView.hidden = YES;  // To hide alert

self.ErrorView.hidden = NO;  // To show alert

【讨论】:

我确实想隐藏视图,但我需要重新调整屏幕的其余部分以使其不存在,它不是叠加层 这种方式效果很好,不知道为什么我想删除视图。容易得多。非常感谢 酷,最简单的解决方案是最好的 - 总是:)【参考方案2】:

为这两个约束条件建立强大的私有财产网点。 当您需要再次将视图重新添加到视图层次结构中时,只需使用 addConstraint 方法将这两个约束重新添加到层次结构中。

    [self.parentView addConstraint:self.constraintX];

【讨论】:

【参考方案3】:

使用[self.ErrorView constraints]; 获取所有约束,然后遍历它并找到将ErrorView 作为其约束的项之一的约束,然后使用该约束将该约束添加到ErrorView

[self.ErrorView addConstraint: retrievedConstrainted]; 

【讨论】:

以上是关于iOS 添加视图:来自故事板的广告视图,无限制的主要内容,如果未能解决你的问题,请参考以下文章

来自故事板的表格视图单元原型未初始化子视图

带有故事板的自定义静态 TableView - 单元格背景

如何回到不同故事板的先前视图控制器?

带有 ios 故事板的标签栏

如何在 XCode 中预览故事板的不同视图控制器

来自故事板的 UITableView - 使用 UITableViewStyleGrouped 初始化