IBDesignable 视图不呈现
IBDesignable view not rendering
我有一个简单的 @IBDesignable
视图,我已将其指定为 macOS 故事板场景中顶级视图的基础 class。例如:
@IBDesignable
class OvalView: NSView {
override func draw(_ dirtyRect: NSRect) {
super.draw(dirtyRect)
NSColor.red.setFill()
NSBezierPath(ovalIn: bounds).fill()
}
}
当我 运行 应用程序时,此视图显示正常。但是我在 Interface Builder 的场景中没有呈现这个可设计的视图:
注意,只有当有问题的视图是场景的顶级视图时,这个问题才会出现。如果我为子视图这样做,它工作正常:
问题是,如果 @IBDesignable
macOS 视图是场景中的顶级视图,Interface Builder 似乎无法在 Interface Builder 中正确呈现该视图。它会在 iOS,但不是 macOS。在 macOS 中,如果它是子视图,它只会在 Interface Builder 中呈现可设计的视图,而不是顶级视图。
我已提交错误报告。 #27817119
我有一个简单的 @IBDesignable
视图,我已将其指定为 macOS 故事板场景中顶级视图的基础 class。例如:
@IBDesignable
class OvalView: NSView {
override func draw(_ dirtyRect: NSRect) {
super.draw(dirtyRect)
NSColor.red.setFill()
NSBezierPath(ovalIn: bounds).fill()
}
}
当我 运行 应用程序时,此视图显示正常。但是我在 Interface Builder 的场景中没有呈现这个可设计的视图:
注意,只有当有问题的视图是场景的顶级视图时,这个问题才会出现。如果我为子视图这样做,它工作正常:
问题是,如果 @IBDesignable
macOS 视图是场景中的顶级视图,Interface Builder 似乎无法在 Interface Builder 中正确呈现该视图。它会在 iOS,但不是 macOS。在 macOS 中,如果它是子视图,它只会在 Interface Builder 中呈现可设计的视图,而不是顶级视图。
我已提交错误报告。 #27817119