Şu anda Kaka Uygulamamda yeni bir görünüm tabanlı NSOutlineView kullanmaya çalışıyorum. Bağlama kullanmıyorum, bu yüzden denetleyicimde gerekli tüm temsilci ve veri kaynağı yöntemlerini uyguladık.Görünüm tabanlı NSOutlineView üstbilgisi hücre yazı tipi sorunları
arayüz oluşturucu ben SourceList ve Tabanlı Görünüm ayarlı İçerik moda ayarlanmış bir vurgulama ile NSOutlineView ekledik. Böylece, verilen iki varsayılan tablo hücre görünümleri (tanımlayıcı olarak HeaderCell seti ve tanımlayıcı olarak DataCell set ile bir veri hücre ile bir Başlık hücresi)
Bu arabirim oluşturucu, başlık hücre görünümlerinde neye benzediği vardı veri hücre görünümleri görüşlerini sunmak için bir imaj görünümü ve doğru renk ve yazı tipi ayarlarına
ile TextField varken doğru bir gri-mavi TextField göstermek, ben şu kodu kullanın DataCell- dönmek görünüm veya bir HeaderCell görünümü ve set Buna uygun olarak, arayüz oluşturucuda ayarlanan ilgili tanımlayıcıya dayanan hücrenin metni.
- (NSView *)outlineView:(NSOutlineView *)outlineView
viewForTableColumn:(NSTableColumn *)tableColumn
item:(id)item {
NSTableCellView *result = nil;
if ([item isKindOfClass:[NSMutableDictionary class]]) {
result = [outlineView makeViewWithIdentifier:@"HeaderCell" owner:self];
id parentObject = [outlineView parentForItem:item] ? [outlineView parentForItem:item] : groupedRoster;
[[result textField] setStringValue:[[parentObject allKeys] objectAtIndex:0]];
} else {
result = [outlineView makeViewWithIdentifier:@"DataCell" owner:self];
[item nickname] ? [[result textField] setStringValue:[item nickname]] : [[result textField] setStringValue:[[item jid] bare]];
}
return result;
}
Her şey aşağıdaki gibi görünüyor.
Seçildiğinde, başlık hücresinin neden ne koyu, ne de doğru renkte olmasına neden olan herhangi biri bana ipucu verebilir mi?
Büyük, teşekkür bulunabilir , bu benim aradığım tam olarak buydu. Bir başkası sorunla karşılaşırsa, setFloatsGroupRows: NO öğesini kullanarak ilk grup maddesini * atlama * yukarı ve aşağı hareket ettirerek [bu gönderiye] (http: // stackoverflow) göre genişler ve daraltır.com/questions/6814620/garip-davranış-kullanarak-görünümü-tabanlı-nsoutline-sourcelist) – BinaryBucks
Ben şu anda ve her şey doğru görüntüleniyor Yukarıdaki kod çalışmaları gerçekten böyle bir grup genişleyen/daraltıldığında akıcı çalışmaz örn. Bulucu. Görünümde yeni tahsis edilmiş gibi, animasyonlarda hafif ama dikkat çekici bir tıkanıklık ve oldukça ağır bir CPU yükü vardır. Eğer makeViewWithIdentifer'i tek bir tanımlayıcı ile kullanırsam, her hücrenin bir başlık hücresi (veya veri hücresi olmayan) olması için her şey akıcı bir şekilde çalışır. Herhangi bir ipucu neden? – BinaryBucks
Evet, tüm floatsGroupRows özelliği yalnızca anahat görünümleri için bozuk. Tanımladığınız performans sorununu görmedim. Belki bir katman destekli süper görüntüden bir çekirdek animasyon gerileme? Dunno. –