动态定位从StoryBoard创建的UITableView

时间:2013-07-18 18:29:40

标签: iphone ios objective-c

我在UITableView上创建了一个StoryBoard,它没有填满整个屏幕,它开始有点向下。我这样做是因为我希望其他内容,例如标签和按钮位于其上方,我正在以编程方式创建。

enter image description here

当我在常规iPhone和iPhone 4视网膜的模拟器中运行应用程序时,一切都正确定位。

enter image description here

然而,当针对iPhone 5运行时,UITableView在按钮顶部和标签之间以及它开始的位置之间存在间隙。

enter image description here

我尝试编写检查iPhone 5的代码,然后将UITableView重新定位到更高的位置,但是,无论我为框架输入什么值,UITableView都不会移动。

- (void) viewWillAppear:(BOOL)animated
{
    if([iDevice screenResolutionHeight] == IPHONE_5)
    {
        UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0,0,self.mytableView.frame.size.width,self.mytableView.frame.size.height)];
        view.backgroundColor = [UIColor whiteColor];
    }
}

2 个答案:

答案 0 :(得分:2)

您的表视图看起来有一个高度限制。您应该在superview的底部创建一个约束,在上部蓝色视图的底部创建另一个约束(使用All和Filter的那个)。如果您为该蓝色视图指定高度约束,那么您应该能够将高度约束移除到表视图。

答案 1 :(得分:0)

Auto Layoutconstraints我仍然遇到很多问题。我最后只关闭了Auto Layout的{​​{1}}并使用了对我有用的StoryBoard功能。它可能不适用于每个应用程序,但它只是我想要分享的另一种选择。

enter image description here