При начальной загрузке моего UITableViewController первая строка скрывается за навигацией, но если я нажму на другое представление и вернусь к этому UITableViewController, он будет загружен правильно, а первая строка будет недействительной, т неясным. Я не могу понять этого.UITableView в UITableViewController за навигационным контроллером при начальной загрузке
Вот снимок экрана начальной загрузки таблицы и один справа будет после того как я вернулся из одного из представлений, что подтолкнули щелкнув строку
Вот мой код контроллера :
class AccountInfoTableViewController: UITableViewController{
var delegate: AccountInfoTableViewDelegate?
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.topViewController.title = "Account Info"
self.automaticallyAdjustsScrollViewInsets = true
println("NAV BAR HEIGHT \(self.navigationController?.navigationBar.frame.size.height)") // 44.0
// prints NAV BAR HEIGHT 44.0
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return 70
}
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
if let cell = tableView.cellForRowAtIndexPath(indexPath){
delegate?.accountInfoTableRowClicked(cell.textLabel!.text!)
}
}
}
ВОЗМОЖНО ВАЖНО:
Этот UITableViewController используется в контроллере бар вкладки
Добавлено некоторые более подробно и код in this question
Убедитесь, что 'Adjust Scroll View Insets' в вашем представлении таблицы выглядит верно. Это можно найти в интерфейсе Builder на вкладке Attribute Inspector для вашего контроллера вида – Ian
@Bluehound yes, Adjust Scroll View Insets отмечен –
Это странно ... Похоже, как «Настроить прокрутки», так и «Расширять края под верхними барами» 'unchecked ... Если вы не найдете причины, вы можете попробовать это:' self.edgesForExtendedLayout = UIRectEdgeNone' (но только если ваша панель навигации всегда будет непрозрачной) –