自定义NSBox的UI问题

时间:2015-02-18 14:12:21

标签: objective-c cocoa user-interface nstextfield nsbox

我有一个子类NSBox。在里面我嵌入了一些NSTextfields,它们在角落里显示了一些奇怪的文物(见image here)。这是我的NSBox的子类代码:

    - (void)drawRect:(NSRect)rect {
    NSBezierPath* rectanglePath = [NSBezierPath bezierPathWithRoundedRect:rect
                                                                  xRadius: 4
                                                                  yRadius: 4];
    [NSColor whiteColor];
    [rectanglePath fill];
}

有什么想法吗? 谢谢,托马斯

1 个答案:

答案 0 :(得分:2)

解决问题的方法是使用[self bounds]而不是rect参数。

- (void)drawRect:(NSRect)rect {
NSBezierPath* rectanglePath = [NSBezierPath bezierPathWithRoundedRect:[self bounds]
                                                              xRadius: 4
                                                              yRadius: 4];
[NSColor whiteColor];
[rectanglePath fill];

}