在我的UITableViewController的初始加载中,第一行被隐藏在导航后面,但是如果我推送到另一个视图并返回到这个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
答案 0 :(得分:1)
看看你的另一个问题,我想知道将UITabBarController嵌入到UINavigationController中是否也是同样的问题。如果是这种情况,则再次回顾Just,控制器层次结构应如下所示:
第一个UINavigationController - >第一个UITableViewController 第二个UINavigationController - >第二个UITableViewController 最后,将上述两个UINavigationControllers添加到UITabBarController的viewControllers数组中。
希望有所帮助!
答案 1 :(得分:0)
UITableViewController是否嵌入了故事板中的UINavigationController?这样做,你应该是金色的。您是否尝试过手动将顶部内容偏移(通过故事板)调整为44?