Im работает над представлением перетаскивания n 'и нашел некоторые обработчики для перетаскивания в Интернете. Я хочу сделать так, чтобы он стал синим, когда пользователь перетаскивает файл по области перетаскивания и снова серый, когда они выходят из области перетаскивания. Проблема заключается в том, что он не обновляется, когда вы наводите на него указатель мыши или выходите из него. Heres часть кода:NSView Не обновляется?
- (void)drawRect:(NSRect)rect
{
NSRect bounds = [self bounds];
[[NSColor grayColor] set];
[NSBezierPath fillRect:bounds];
}
- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender {
NSRect bounds = [self bounds];
[[NSColor blueColor] set];
[NSBezierPath fillRect:bounds];
return NSDragOperationCopy;
}
- (void)draggingExited:(id <NSDraggingInfo>)sender {
NSRect bounds = [self bounds];
[[NSColor grayColor] set];
[NSBezierPath fillRect:bounds];
}
Спасибо за любую помощь.
Я все еще несколько новичок в какао и не слышал об иваре. Когда я пытаюсь скомпилировать, я получаю ошибку: «drawBlueColorIvar» uneclared (сначала использовать в этой функции), что кажется логичным, потому что я его не объявлял. Как объявить ivar? – nosedive25
О, я получил его, я просто добавил NSColor * drawBlueColorIvar; к заголовку представления. Спасибо за помощь! – nosedive25