UIView底部没有显示

时间:2011-02-06 11:06:24

标签: iphone xcode ios

我正在做一个基于导航的应用。我的rootview是一个UITableView,从那里我导航到UIView。出于某种原因,UIView的高度似乎比它应该的大,这意味着视图的底部没有显示。

我使用UITextView进行了一个非常简单的测试,底部有一个按钮,当我在Simulator中运行它时,只有按钮的上半部分显示,即使高度设置为460.

这是我用来导航的代码:

TestViewController *t = [[TestViewController alloc] initWithNibName:nil bundle:nil];
[self.navigationController pushViewController:t animated:YES];

在我的测试中,.xib只是在IB中将textview和一个按钮拖到UIView上。

当我导航到另一个UITableView时,我没有同样的问题。

我错过了什么?

1 个答案:

答案 0 :(得分:2)

确保你有IB中的那些

view.autoresizingMask = UIViewAutoresizingFlexibleHeight;
textView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleBottomMargin;
button.autoresizingMask = UIViewAutoresizingFlexibleTopMargin;

这意味着viewControllers的视图会被navigationController调整大小,textView会被主视图调整大小,并且顶部的距离保持与笔尖相同,最后距视图底部的距离保持不变你的按钮也一样。

如果您不知道如何在IB UI中翻译这些值,箭头会调整大小,“I”与该侧的距离是固定的 - 左,上,右,下。

基于导航的应用中视图的高度应为480 - statusbarHeight(= 20) - navigationBarHeight(= 44)= 416像素