İçerideki dizelerin uzunluğuna bağlı olarak yüksekliklerini değiştirmesi gereken bazı UITableViewCells var. Gerekli yüksekliği tableView:cellForRowAtIndexPath:
içinde hesaplıyorum ve daha sonra bir değişkende saklıyorum (self.specialRowHeight
). Sonra var: Bunun dışındaTableView alın: heightForRowAtIndexPath: tableView sonra gerçekleşmesi için: cellForRowAtIndexPath :?
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == SPECIAL_SECTION) {
return self.specialRowHeight;
}
else {
return 44;
}
}
tableView:cellForRowAtIndexPath:
bit önce denilen almak gibi görünüyor, bu yüzden her zaman sıfır var.
Bunun çevresinde bir yol var mı, belki de bunu yapmanın farklı bir yolu var mı?
Teşekkürler!
şöyle
tableView:heightForRowAtIndexPath:
uygulanması içinetableView:cellForRowAtIndexPath:
aramak oldu rect yüksekliğini 18 ile ayırırsınız ve tekrar çoğaltırsınız, fakat bunun dışında hemen hemen aynı şekilde yaparım. –Eh, ilk bölüm kaç satır gerekli olduğunu bulmaktır, bu yüzden 'cell.textLabel.numberOfLines 'doğru ayarlayabilirim; Bunu yapmazsam, hepsi tek bir satıra yazdırılır. Ama evet, sanırım sadece "sonucunda" theSize.height "yi kullanabilirim," self.numberOfTextRows "yerine. – Triz
Netlik ve basitleştirme için cevabı düzenledik. Şimdi gerçekten iyi çalışıyor. – Triz