Xcode 10.1-IB Designables-无法呈现和更新自动布局状态,代理崩溃了

时间:2019-04-23 06:42:59

标签: ios xcode

我遇到一个问题,即故事板无法渲染布局,因此我无法添加约束,也无法看到viewController的布局。

Issues Image

我该如何解决?

3 个答案:

答案 0 :(得分:3)

我也面临着同样的问题……得到了

的解决
Editor -> Refresh All Views

答案 1 :(得分:2)

我花了几个小时来解决这个问题,但所有答案都没有帮助我。终于我找出了自己的错误。

在@IBInspectable didSet属性中,

我正在调用通用的setup()函数来利用我的视图。但是,我试图调整textField而不检查它是否为nil。这就是为什么我遇到“无法渲染”问题以及运行时崩溃的原因。

例如:

@IBInspectable var isTitleEnabled: Bool = true{
    didSet{ setup() }
}

setup()函数为:

private func setup(){
    textField.isSecureTextEntry = isPassword
}

这是错误的。 Xcode不允许以这种方式修改子视图。 呈现IB组件时,Xcode认为它尚未初始化,因此会引发错误。为了解决这种误解,我们需要确保IB组件为零。

因此,我们需要像这样使用它:

guard textField != nil else { return }
textField.isSecureTextEntry = isPassword ? true : false

IB组件不必只是UITextField。它对其他IB组件(如UILabel,UIImageView等)有效。

答案 2 :(得分:1)

请参阅遵循此答案https://stackoverflow.com/a/52790289/8276509或 只需尝试在故事板选择

中转到编辑器,然后刷新所有视图