大多数与此相关的问题和答案都基于旧版本的 Xcode 和 Swift。此外,90% 的问题与 UIKit 和绘制自定义控件有关。
我正在添加一个标准按钮,它位于自定义控件的中心,用IBDesignable
.
import Cocoa
@IBDesignable public class ButtonPresetView: NSView {
public override init(frame frameRect: NSRect) {
super.init(frame: frameRect)
initialControlSetup()
}
public required init?(coder decoder: NSCoder) {
super.init(coder: decoder)
initialControlSetup()
}
private func initialControlSetup() {
let button = NSButton(title: "Hello", target: nil, action: nil)
button.translatesAutoresizingMaskIntoConstraints = false
addSubview(button)
// Configure button
centerXAnchor.constraint(equalTo: button.centerXAnchor).isActive = true
centerYAnchor.constraint(equalTo: button.centerYAnchor).isActive = true
}
}
我向应用程序添加了一个自定义视图,并将 Identity Inspector 中的类属性设置为我的自定义类 ( ButtonPresetView
)。
它应该显示以画布为中心的按钮,但画布是空白的。不确定有多少人以这种方式使用它,但它在 Xcode 8.3 中与 Swift 3 完美配合。
还有其他人有这个问题吗?