В настоящее время я работаю над сборкой проекта для OSX 10.5 и выше.
Прежде всего, пользователи 10.6 не видят этого; только 10,5 пользователей имеют эту проблему.
Вы не можете воспроизвести это на 10.6.
Короче говоря: при размещении пользовательского расширенного класса NSView с реализацией перегрузки - (void) mouseUp: (NSEvent *) theEvent mouseUp не вызывается, когда он упакован в NSSplitView. rightMouseUp: / Down: РАБОТАЕТ на расширенном NSView.
Событие вызывается, когда я размещаю пользовательское представление в моем окне, когда я оборачиваю его непосредственно в nssplitview, mouseup не вызывается для пользователей leopard (10.5).
Шаги для воспроизведения (на 10,5!)
- Создать новый проект какао
- Создать следующий класс
- Перетащите пользовательский вид на окно и сделайте класс GTTest
- Перетащите разделенное представление в окно и просто добавьте GTTest в одно из представлений его содержимого.
Класс:
@interface GTTest : NSView {
}
#import "GTTest.h"
@implementation GTTest
- (void)mouseUp:(NSEvent *)theEvent {
NSLog(@"Ger");
}
Нажатие на директиву GTTest в окне записывает красивую строку, нажатие на NSSplitView ничего не делает (также попробуйте точку останова). rightMouseDown: / Up: РАБОТАЕТ на NSView.
ps> Когда я добавляю кнопку в splitview (также производное nsview, с правами nsresponder?) Запускает ли мой метод IBAction; что мой класс выше не хватает, чтобы работать правильно?
Что я могу сделать?