UITableView仅在ViewDidDisplay中调整大小
我遇到了一个奇怪的问题,我不知道在哪里/如何解决它 我在UIViewController上有6个UITableView(我使用的是故事板),我想在ViewDiLoad中调整它们的大小,但我不能,我发现调整它们大小的唯一方法是在ViewDidDisplay中,问题是当我旋转模拟器时,帧变得像IB中的一样 你能帮我处理这个案子吗UITableView仅在ViewDidDisplay中调整大小,uitableview,viewdidload,viewdidappear,Uitableview,Viewdidload,Viewdidappear,我遇到了一个奇怪的问题,我不知道在哪里/如何解决它 我在UIViewController上有6个UITableView(我使用的是故事板),我想在ViewDiLoad中调整它们的大小,但我不能,我发现调整它们大小的唯一方法是在ViewDidDisplay中,问题是当我旋转模拟器时,帧变得像IB中的一样 你能帮我处理这个案子吗 - (void)viewDidLoad { [super viewDidLoad]; [_hoursTable setScrollEnabled:NO];
- (void)viewDidLoad
{
[super viewDidLoad];
[_hoursTable setScrollEnabled:NO];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(void)viewDidAppear:(BOOL)animated
{
[_firstTable setFrame:CGRectMake(100, 0, 100, 768)];
[_secTable setFrame:CGRectMake(200, 0, 100, 100)];
[_thirdTable setFrame:CGRectMake(300, 0, 100, 100)];
[_fourthTable setFrame:CGRectMake(400, 0, 100, 100)];
[_fifthTable setFrame:CGRectMake(500, 0, 100, 100)];
[_hoursTable setFrame:CGRectMake(600, 0, 100, 100)];
}
此类代码应位于
布局子视图中
- (void)layoutSubviews {
// your code here
}
嗯,好的,现在我明白了,self.view在ViewDidLoad中,layoutSubviews中的子视图不改变任何内容layoutSubviews不会被调用。。我的UITableView链接到IB。。这会改变什么吗?正在调用layoutSubviews吗?只有当我将其添加到ViewDidLoad中时,我才更新了我的答案,请确保正确实现了该方法,因为它应该被调用。文件: