2015-01-30 4 views
0

Моя среда OS X Yosemite 10.10.2. Xcode - 6.1.1 и 6.2 beta4. Я написал приложение для календарей для OS X. Я использовал фреймворк какао, который я написал. И у меня проблема . В представлении коллекции должна быть только одна кнопка дня. Но что-то не так. Приложение имеет несколько фокусов.OS X Yosemite маска окна стиль NSFullSizeContentViewWindowMask вызвать только нажал кнопку просмотра коллекции может вызвать drawRect

Я нашел заявление, вызывающее эту проблему. [[[просмотр] окно] комплектStyleMask: ([[окно просмотра]] .styleMask | NSFullSizeContentViewWindowMask)]; Когда приложение устанавливает NSFullSizeContentViewWindowMask, только нажатая кнопка коллекции вид вызовет drawRect из-за производительности. Это вызвало мою проблему. - (Недействительными) DrawRect: (NSRect) dirtyRect

Связанная запись в Apple, форум разработчиков: https://devforums.apple.com/message/1097305#1097305

ответ

0

Я нашел решение. В "- (void) observValueForKeyPath: (NSString *) keyPath ofObject: (id) изменение объекта: (NSDictionary *) изменить контекст: (void *) context;" кнопки add "[self setNeedsDisplay: YES ];"

Оригинальное руководство по привязкам к какао, наблюдение за действием ValueForKeyPath имеет [self setNeedsDisplay: YES]; Но я не помню, почему я это прокомментировал. Когда NSFullSizeContentViewWindowMask не установлен, в приложении только один фокус.