我不知道它是如何發生的,但突然在我的表格視圖中,我無法再進行空選擇。像表格視圖一樣,必須選擇行,並且不能通過單擊表格視圖中的其他位置來取消選擇。我可以選擇不同的行,但我不能做出空白選擇。無法在NSTableView中進行空選擇
在表視圖的Interface Builder屬性中啓用了空選擇,所以我不知道下一步要看哪裏。我做的一個重大改變是我安裝了OS X Snow Leopard。我不確定這個問題是否與此有關。
感謝
我不知道它是如何發生的,但突然在我的表格視圖中,我無法再進行空選擇。像表格視圖一樣,必須選擇行,並且不能通過單擊表格視圖中的其他位置來取消選擇。我可以選擇不同的行,但我不能做出空白選擇。無法在NSTableView中進行空選擇
在表視圖的Interface Builder屬性中啓用了空選擇,所以我不知道下一步要看哪裏。我做的一個重大改變是我安裝了OS X Snow Leopard。我不確定這個問題是否與此有關。
感謝
我不能說遠不止此:這似乎是專門10.6
不好意思地說了這個,但是接下來要問一個關於還沒有發佈的操作系統的問題,以及你是在NDA下面的問題,你期望什麼? – 2009-08-23 18:47:02
嘗試用setter方法setAllowsEmptySelection:
做編程。或者,嘗試禁用IB中的空白選擇,保存,然後啓用它,再節省一次時間。這可能會解決它。
此外請確保tableView:shouldSelectRow:
中的某些內容不會阻止您(假設您已實施此代理方法)。
是否將列綁定到數組控制器?如果是這樣,請檢查控制器的屬性。
是的,數組控制器的「避免空選擇」屬性被選中,我取消選中它,然後再試一次,但仍然不起作用。 – indragie 2009-08-19 15:41:28
一個問題,我打這個確切同樣的問題(我用的XCode 4.2,但編譯反對10.6sdk)。 NSOutlineView :: deselectAll只是不取消選擇的東西。我有一個相當複雜的NSOutlineView展現出相同的行爲。我看了一下蘋果開發者論壇和其他地方,嘗試解決這個問題。然而最終解決這個工作對我來說是很簡單的,我可以只使用:
- (void) myDeselectAll
{
[self selectRowIndexes:[NSIndexSet indexSet] byExtendingSelection:NO];
}
如果您支持10.6,則需要執行此操作而不是deselectAll。您需要下載10.6sdk並將其設置爲基礎sdk才能看到此錯誤。 – Mark 2013-05-17 18:56:24
這是有點老了,但對於那些誰需要一個答案: 使用界面生成器,並標記陣列控制器。刪除選中標記「避免空選擇」。 如果不這樣做,請爲陣列控制器創建一個插座。這裏我稱之爲DocumentArrayController。
然後空選擇:
[_DocumentArrayController removeSelectionIndexes:
[_DocumentArrayController selectionIndexes]];
什麼是你的代碼看起來像didSelectRowAtIndexPath方法?另外,這是在模擬器還是在設備上? – Jab 2009-08-18 22:04:04
嗨,我沒有實現該方法。這是OS X的發展,而不是iPhone。 – indragie 2009-08-19 00:41:14