大多数问题以及与此相关的答案均基于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
}
}
Run Code Online (Sandbox Code Playgroud)
我向应用程序添加了一个自定义视图,并将Identity Inspector中的class属性设置为我的自定义类(ButtonPresetView).
它应该显示以画布为中心的按钮,但画布为空白.不确定很多人会这样使用它,但它在Xcode 8.3中使用Swift 3非常有效.
还有其他人有这个问题吗?