我正在處理一個拖放視圖,並發現了一些處理器,用於在網絡上拖放操作。我想讓它變成藍色,當用戶在拖放區域上拖動文件時,它們在退出拖放區域時再次變爲灰色。問題在於,當您將鼠標拖到它上面或退出時,它不會更新。下面有一些代碼: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'未聲明(首次在此函數中使用),這似乎是合乎邏輯的,因爲我沒有聲明它。我如何申報伊娃? – nosedive25 2010-07-14 17:23:23
哦,我知道了我只是添加NSColor * drawBlueColorIvar;到視圖標題。感謝所有的幫助! – nosedive25 2010-07-14 17:29:07