ago*_*ugh 39 iphone cocoa-touch iphone-sdk-3.0
我有一个TabBarController,其中一个选项卡包含一个子视图,它是一个navigationController.然后我在导航控制器中加载一个继承UITableViewController形式的视图.
我的问题是由于某种原因,桌面视图开始惊吓导航控制器,而不是屏幕的顶部,但大约是导航栏的一半,因此表格视图中第一个单元格的顶部被切断.
任何人都可以建议如何移动UITableViewController?
sun*_*ity 99
以编程方式修复它:
- (void)viewDidLoad {
UIEdgeInsets inset = UIEdgeInsetsMake(20, 0, 0, 0);
self.tableView.contentInset = inset;
}
Run Code Online (Sandbox Code Playgroud)
这个"隐藏在导航栏后面"的问题是由于iOS 7自动使用全屏布局.请参阅iOS 7过渡指南.
它有点狡猾,因为它在模拟器中的iOS 6中显示(布局方面;即没有隐藏在后面).
你的导航栏是否半透明?我是,并设置为非半透明修复它在Iphone iOS 6,iPhone iOS 7和模拟器7.0建设与XCode 5.(在我的情况下,我将其设置为半透明的视觉外观.)
pau*_*erd -1
您可以通过设置视图上的frame 属性将UITableView 的框架设置为显式X、Y 位置。或者,您可以使用界面生成器更改相同的属性,具体取决于您是通过 IB 还是在代码中添加了表格视图。
例如。
myTable.frame = CGRectMake(0.0, myTable.frame.origin.y + NAV_BAR_HEIGHT, myTable.frame.size.width, myTable.frame.size.height);
Run Code Online (Sandbox Code Playgroud)
这会将表格 myTable(指向 UITableView 的指针)定位在导航栏下方,您可能还需要相应地调整表格的高度。我用常量指示的导航栏的高度是 44.0。
如果在负责的视图控制器的 viewWillAppear 中需要的话,我通常会进行这种类型的视图调整。您需要进行此类调整的情况并不常见,因此您可以通过更改视图的设置方式来解决此问题。
如果没有有关如何设置视图的更多详细信息,就很难更具体。
| 归档时间: |
|
| 查看次数: |
29974 次 |
| 最近记录: |