hücre genişliğine göre değiştirmek için tercih edilen yaklaşım Otomatik düzeninden yararlanan dinamik bir özel UITableViewCell
ürünüme sahibim.UiteableViewCell içeriğini
Hücrenin genişliğine bağlı olarak etiketin metin içeriğini değiştiriyorum.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
...
cell.someLabel.text = CGRectGetWidth(cell.bounds) < 321 ? @"Concise" : @"Much longer blurb";
return cell;
}
reloadData
etiket güncelleştirmek için yönlendirme geçişi sırasında adlandırılır.
Bu işe yaramakla birlikte, bunun tabloyu yeniden yükleme ek yükü içermeyen, bununla başa çıkmanın daha iyi bir yolu olduğunu tahmin ediyorum.
(kısıtlamalar hiçbiri değişmez gerekiyor. Etiket aynı yerde olmakla sadece bunun için daha fazla yer var farklı içerik. Gösterir)
Ben
UILabel
alt sınıf ve metni değiştirmek Should-didMoveToSuperview
?Metni
-layoutSubViews
olarak değiştirmek mümkün müdür? (Metin değiştirildiği için bu başka düzen geçmek neden olmaz mı?) Herhangi cevapları için
Teşekkür!
Yapmam gereken ilk şey tablo görünümü yeniden "havai" olduğuna inanıyoruz neden tekrar düşünmek olduğunu düşünüyorum. Oldukça verimlidir, çünkü sadece görünen tablo hücresi verileri yeni getirilmiştir - ve veri modeliniz tamamen verimli olmalı ya da yanlış yapıyor olmalısınız. – matt
Sadece overkill gibi görünüyor Matt. Otomatik döndürme işlemi otomatik olarak gerçekleşiyor ve sanırım halihazırda gerçekleşen düzen geçişi içinde ele alınabiliyor. Hücrenin veya etiketin nasıl işleyeceğini bilmek için otomatik düzen hakkında yeterli bilgi sahibi değilim. –
Ancak bahsetmediğim konu, yeniden yükleme olmadan göremeyeceğiniz yeniden yüklemenin ince titremesidir. Tabloyu yeniden yüklemek zorunda kalmazsam daha hoş görünürdü ve sadece otomatik olarak döndü ve kendini farklı şekilde değiştirdi. Mümkün? –