我正在尝试将自动布局约束应用于继承自NSView
. 该按钮相当复杂,例如可以用作单选按钮。drawRect:
您可以从以下代码摘录中猜到用户界面的组成。
@interface CustomButton : NSView
...
- (void)drawRect:(NSRect)dirtyRect {
// ...
if (self.hasImage) {
// ...
if (self.hasTitle) {
// ...
[image drawInRect:imgRect
fromRect:NSZeroRect
operation:NSCompositeSourceOver
fraction:fraction
alignment:Alignment_LEFT];
} else {
[image drawInRect:imgRect
fromRect:NSZeroRect
operation:NSCompositeSourceOver
fraction:fraction
alignment:Alignment_CENTER];
}
}
if (self.hasTitle) {
// ...
[self.textRenderer drawText:m_title
inRect:textRect
withState:state
controlView:self];
}
}
我成功配置了一个从 NSView 派生的自定义文本字段。不同之处在于文本字段用于addSubView:
组成其用户界面组件。
我想知道是否仍然可以使用 Autolayout 约束来定位用户界面组件。目前没有组件出现。我觉得它不起作用,因为我画了那些“子视图”。