2010-11-18 21 views
6

Üzerine sağ tıklandığında, Kakao'nun NSTableView/NSOutlineView satırlarının etrafında çizdiği mavi anahatlardan nasıl kurtulabileceğimi merak ediyorum.NSTableView: sağ tıklanan satırlarda mavi anahat

NSTableView Outline http://tobidobi.com/nstableview_outline.png

O bir klasik "vurgulamak" ne de bir "odak halkası" Ben yanılmıyorsam eğer olmak görünmüyor - yani, aslında bu nedir? en azından * ama
* de başıma bu taslağını çizmek ya nasıl bilemiyorum, ya
* ondan kurtulmak veya
-

Şu anda kendimi tamamen özel NSCells çiziyorum rengini değiştirin

Herhangi bir ipucu çok hoş geldiniz! Teşekkürler!

cevap

12

Maalesef, bunu yapmak için belgelenmiş bir yolun farkında değilim, tablo görünümünüzü değiştirme konusunu yazmaktan çekinmeyin. geçersiz kılmak için

yöntemdir: Eğer gelecekte istediğini yapmak belgesiz yöntemlere güvenmek zorunda olmayacak şekilde

- (void)drawContextMenuHighlightForRow:(NSInteger)row; 

Apple ile bir geliştirme isteği başvurusunda bulunun. Diğer iki tablo görünümünde vurgulama yöntemleri 10.6'da özelleştirilebilir yapılmış gibi görünüyor ama bu değildi. Ben her zaman biraz tıknaz bir görünüm olduğunu düşündüm ama menüde hangi satırın başvuruda bulunduğunu belirtmek gerekir (mutlaka vurgulanan satırla aynı değil).

+0

! Teşekkür ederim Nicholas! – Tobidobi

+0

Tip parametresi yanlış! 64-bit'de çalışmıyor. –

+0

Teşekkürler, orada bir süre 64-bit Cocoa yapmıyordum. –

1

Benim NSTableView * mainTableView bağlam menüsünü açar hemen önce alt sınıflandırılır yüzden ondan kurtuldum değildir:

hile yaptı
- (void)menuWillOpen:(NSMenu *)menu{ 
    NSInteger rightClicked = [mainTableView clickedRow]; 
    [mainTableView selectRowIndexes:[NSIndexSet indexSetWithIndex:rightClicked] byExtendingSelection:NO]; 
    [mainTableView deselectRow: rightClicked]; 
    [mainTableView reloadData]; 
    { 
+0

reloadData gereksizdir, ancak bu yoldur. –

İlgili konular