2015-02-18 2 views
0

У меня есть подклассов NSBox. Внутри у меня есть встроенные NSTextfields, которые показывают некоторые странные артефакты в их углах (см. image here). Это мой код подкласса для NSBox:Проблемы с пользовательским интерфейсом с пользовательским NSBox

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

Любые идеи? Спасибо, Томас

+0

Почему вы используете NSBox, если вы добавляете TextFields к нему? В прошлом, казалось бы, имеет смысл просто использовать NSView. – stevesliva

+1

stevesliva, я удалил NSBox и заменил его подклассом NSView. Те же результаты. Но когда я проверил Core Animation Layer в Inspector View Effects, эти проблемы с рисунком исчезли. Я не понимаю, что здесь происходит. –

+0

Я бы обновил ваш заголовок и теги ... вы могли бы получить еще несколько ответов с запросом Core Animation. – stevesliva

ответ

0

Что решила проблема с использованием [self bounds] вместо аргумента rect.

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

}

Смежные вопросы