0

什么会导致导航控制器中表格的第一行被定位,使其一部分位于导航控制器下方?

我似乎无法让它从上到下显示整行;它可能看起来很小,但它显然不正确,我觉得它没有吸引力。

TableViewController 完全在代码中添加到导航控制器:

     SettingsRootController*settings=[[SettingsRootController alloc] initWithStyle:UITableViewStylePlain];
    self.settingsView=[[[UINavigationController alloc] initWithRootViewController:settings]autorelease];
    [settings release];

SettingsRootController是 UITableViewController 的子类。

什么会导致导航控制器中表格的第一行被定位,使其一部分位于导航控制器下方?

4

2 回答 2

1

似乎这是以编程方式添加的常见问题UINavigationController- 请参阅添加 UINavigationController 作为 UIView 的子视图

基本上,您可能应该做的是在将其作为子视图添加到任何地方之前frame设置属性。在上述问题的公认答案中,还建议将' 框架更改为:UINavigationController UINavigationController

nav.view.frame = CGRectMake(nav.view.frame.origin.x, nav.view.frame.origin.y - 20,
                      nav.view.frame.size.width, nav.view.frame.size.height);
于 2012-05-24T07:57:50.163 回答
1

唯一可行的方法是将导航控制器内的表格视图手动向下移动 10 像素,但仅在 iPhone 上,而不是在 iPad 上,因为 iPad 上没有对齐问题,而在 iPad 上移动 10 像素会产生间隙。这显然是某种导航控制器错误,因为其他线程中还有其他奇怪的问题。

 CGPoint tableorigin=CGPointMake(0,ISIPAD?0:10);
于 2012-05-24T09:46:50.747 回答