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

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

删除它
[self.ErrorView removeFromSuperView];

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

[self.MainView addSubview:self.ErrorView];

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

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

【问题讨论】:

  • This question 可能有助于解释发生了什么以及该做什么。当你移除一个视图时,约束也会被移除。

标签: ios objective-c constraints addsubview


【解决方案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]; 
    

    【讨论】:

      猜你喜欢
      • 2012-01-30
      • 1970-01-01
      • 2015-10-23
      • 1970-01-01
      • 1970-01-01
      • 2012-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多