我确实做了一些定制视图,可以在不同的控制器中重用它们。
我用以下方法初始化它们:

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就开始重新编译。
有时所有视图(不仅是自定义视图)的位置和大小也会失真。然后我必须等待重新编译完成,然后才能单击黄色三角形来修复错误位置。
这种行为很烦人。。。
你能帮我避免错位和重新编译,使一切顺利和快速运行吗?
顺便说一句:自定义视图工作正常,只是等待重新编译和错误的位置,我无法修复
非常感谢你

最佳答案

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

关于ios - 界面生成器中的iOS Swift 3.0自定义 View 导致重新编译和放错位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42003818/

10-09 16:28