【发布时间】: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 都会开始重新编译。 有时所有视图(不仅是自定义视图)的位置和大小也会失真。然后我必须等待重新编译完成,然后才能单击黄色三角形来修复错位。
这种行为很烦人……
你能帮我避免错位和重新编译,以便一切顺利和快速运行吗?
顺便说一句:自定义视图确实可以正常工作,只是等待重新编译和错位,我无法修复
非常感谢
【问题讨论】:
-
您使用的是 xcode 8.0 吗?比检查这个链接*.com/questions/39492765/…
-
我用的是Xcode 8.2.1,问题没有解决
标签: ios swift xcode interface-builder custom-view