iOS Swift 界面生成器中的 3.0 自定义视图导致重新编译和错位
iOS Swift 3.0 custom view in interface builder causes recompiling and misplacements
我确实制作了一些自定义视图,以便能够在不同的控制器 .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 开始重新编译。
有时所有视图(不仅是自定义视图)的位置和大小也会扭曲。然后我必须等待重新编译完成,然后才能单击黄色三角形来修复错位。
这种行为很烦人...
你能帮我避免错位和重新编译,让一切运行顺利和快速吗?
顺便说一句:自定义视图可以正常工作,只是等待重新编译和错位,我无法修复
非常感谢
尝试:编辑器 > 自动刷新视图 > 取消选中。
这应该会停止不断重建,但是,是的,它看起来只是另一个烦人的 Xcode 错误。
我确实制作了一些自定义视图,以便能够在不同的控制器 .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 开始重新编译。 有时所有视图(不仅是自定义视图)的位置和大小也会扭曲。然后我必须等待重新编译完成,然后才能单击黄色三角形来修复错位。
这种行为很烦人...
你能帮我避免错位和重新编译,让一切运行顺利和快速吗?
顺便说一句:自定义视图可以正常工作,只是等待重新编译和错位,我无法修复
非常感谢
尝试:编辑器 > 自动刷新视图 > 取消选中。 这应该会停止不断重建,但是,是的,它看起来只是另一个烦人的 Xcode 错误。