Yakın zamanda bazı kodları yeni iOS 11 beta 5 SDK'ya taşıdım.
Şimdi UITableView'dan çok kafa karıştırıcı bir davranış alıyorum. Masa görünümünün kendisi o kadar da süslü değil. Özel hücrelerim var ama çoğu zaman sadece boyları için.
Görünüm denetleyicimi tablo görünümüyle ittiğimde, hücrelerin "yukarı kaydırıldığı" (veya muhtemelen tüm tablo görünümü çerçevesinin değiştirildiği) ve bas / aç gezinme animasyonu boyunca aşağıya indiği ek bir animasyon alıyorum. Lütfen gif'e bakın:
El ile oluşturmak tableview
içinde loadView
Tableview en Superview lider, sondaki, üst, alt eşit olacak şekilde yöntem ve kurulum otomatik düzen kısıtlamaları. Denetleme görünümü, görünüm denetleyicisinin kök görünümüdür.
Denetleyici itme kodunu görüntüle çok standarttır: self.navigationController?.pushViewController(notifVC, animated: true)
Aynı kod, iOS 10'da normal davranış sağlar.
Bana neyin yanlış olduğunu gösterebilir misin?
DÜZENLEME: Çok basit bir tableview kontrolörü yaptım ve aynı davranışı orada yeniden oluşturabilirim. Kod:
class VerySimpleTableViewController : UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.register(UITableViewCell.self, forCellReuseIdentifier: "Cell")
}
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 4
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
cell.textLabel?.text = String(indexPath.row)
cell.accessoryType = .disclosureIndicator
return cell
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
let vc = VerySimpleTableViewController.init(style: .grouped)
self.navigationController?.pushViewController(vc, animated: true)
}
}
DÜZENLEME 2: UINavigationBar'ı özelleştirmeme sorunu daraltabildim. Bunun gibi bir özelleştirmem var:
rootNavController.navigationBar.setBackgroundImage(createFilledImage(withColor: .white, size: 1), for: .default)
nerede createFilledImage
verilen boyut ve renk ile kare görüntü oluşturur.
Bu satırı yorumlarsam normal davranışıma geri dönerim.
Bu konudaki tüm düşüncelerimi takdir ediyorum.
navigationBar.isTranslucent
için false
aksi takdirde para cezası çalışır.