【问题标题】:iOS Swift 3.0 custom view in interface builder causes recompiling and misplacements界面生成器中的 iOS Swift 3.0 自定义视图导致重新编译和错位
【发布时间】:2025-12-27 14:55:07
【问题描述】:

我确实制作了一些自定义视图,以便能够在不同的控制器 .xib 文件中重用它们。

我确实使用以下方法初始化它们:

var view: UIView!
var nibName = "MyCustomView"

override init(frame: CGRect) {
    super.init(frame: frame)
    initialize()
}

required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
    initialize()
}

private func initialize() {
    self.backgroundColor = Theme.colorTransparent

    let bundle = Bundle(for: type(of: self))
    let nib = UINib(nibName: self.nibName, bundle: bundle)
    self.view = nib.instantiate(withOwner: self, options: nil).first as! UIView
    self.view.frame = self.bounds
    self.view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
    addSubview(self.view)
    clearErrors()
}

但是每次我打开一个包含至少一个自定义视图的控制器 .xib 文件时,XCode 都会开始重新编译。 有时所有视图(不仅是自定义视图)的位置和大小也会失真。然后我必须等待重新编译完成,然后才能单击黄色三角形来修复错位。

这种行为很烦人……

你能帮我避免错位和重新编译,以便一切顺利和快速运行吗?

顺便说一句:自定义视图确实可以正常工作,只是等待重新编译和错位,我无法修复

非常感谢

【问题讨论】:

标签: ios swift xcode interface-builder custom-view


【解决方案1】:

尝试:编辑器 > 自动刷新视图 > 取消选中。 这应该会停止不断的重建,但是是的,它看起来就像另一个恼人的 Xcode 错误。

【讨论】: