Bu araştırıcısına araştırdım ve bu soruna bir çözüm bulamıyorum. Geçerli kodum Reload section without reloading section header dayanmaktadır.UITableView, otomatik ekrandırma ile hücreyi genişletirken atlar.
Kullanıcı hücreye bastığında bir uitableview hücresi oluşturmaya çalışıyorum. Başlangıçta iki satırlık metinle sınırlı olan bir UILabel ile UITableViewCell alt sınıfım var. Kullanıcı UILabel'a bastığında, UILabel'deki numberOfLines özelliğini 0 olarak ayarladım, böylece gerektiği kadar çok satıra genişler. İşte
tableView benim kodudur: didSelectRowAtIndexPath:if (((NSNumber *)expandedCells[indexPath.section]).boolValue)
{
labelExpandingCell.cellLabel.numberOfLines = 10;
} else
{
labelExpandingCell.cellLabel.numberOfLines = 3;
}
[UIView setAnimationsEnabled:NO];
[self.tableView beginUpdates];
[self.tableView setNeedsDisplay];
[self.tableView endUpdates];
[UIView setAnimationsEnabled:YES];
Bazen bu, gayet iyi çalışıyor tipik UITableView en contentOffset.y == 0. Genellikle tableview geriye 100 piksel atlar zaman ya da ben öyle yürüttüğünüzde bu kod İşte bu kod çalıştırılmadan önce ve sonra bir örnek günlüğü. 57:
2016-03-25 14
08,549 TableViewTest [485: 129926] İçerikte güncellemeden önce offset: 153,500000 2016/03/25 14: 57: 08,568 TableViewTest [485: 129926] İçerikte güncellemeden sonra offset: 136,500000O anda görünebilen hücreyi genişletdiğimde otomatik olarak neden tablo görünümümün geriye doğru sıçramasına neden oluyor?
Çalıştığım kodla benzer bir şey alıyorum. Bu başladığında emin değilim. iOS 9 sdk muhtemelen? Hücre yüksekliğini elle ayarlamak için geri dönmek istemiyorum! –