UITableView布局问题,(内容插入)

时间:2015-10-22 03:25:35

标签: ios uitableview

UINavigationController - > UITabBarController - > UIViewController - > UITableView的

我有一个带有UITabBarController的UINavigationController作为其rootViewController,然后在其中一个选项卡(UIViewController)中放置一个UITableView

当我切换到包含UITableView的tabController之一时,导航栏下的tableView的第一个单元格。如果我按下另一个视图控制器,然后弹回,tableview重新布局正确。如何在开始时使其布局正确。

2 个答案:

答案 0 :(得分:0)

viewWillAppear 中进行布局可以解决问题

答案 1 :(得分:0)

我解决了。这是topLayoutGuide的问题,通过覆盖topLayoutGuide属性修复它(Swift)

override var topLayoutGuide:UILayoutSupport {
    get { return (self.parentViewController?.topLayoutGuide)! }
}

override var bottomLayoutGuide:UILayoutSupport {
    get { return (self.parentViewController?.bottomLayoutGuide)! }
}

(目标C)

(id<UILayoutSupport>) topLayoutGuide {
return self.parentViewController.topLayoutGuide;

}

  • (id)bottomLayoutGuide { return self.parentViewController.bottomLayoutGuide; }

  • (void)viewWillLayoutSubviews { [super viewWillLayoutSubviews]; //这里需要NSLog,只需调用getter,不知道为什么在Objective C中没有默认调用getter NSLog(@“%@”,self.topLayoutGuide); }

  • (void)viewDidLayoutSubviews { [super viewDidLayoutSubviews]; //这里需要NSLog,只需调用getter,不知道为什么在Objective C中没有默认调用getter NSLog(@“%@”,self.topLayoutGuide); }