UITableView第一行被切断

时间:2012-05-24 06:41:48

标签: objective-c uitableview

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

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

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

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

SettingsRootController是UITableViewController的子类。

What would cause the first row of a table in a nav controller to be positioned so part of it is under the nav controller?

2 个答案:

答案 0 :(得分:1)

这似乎是以编程方式添加UINavigationController的常见问题 - 请参阅Adding a UINavigationController as a subview of 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);

答案 1 :(得分:1)

唯一可行的方法是手动将导航控制器内的桌面视图向下移动10个像素,但只能在iPhone上,而不是在iPad上,因为iPad上没有对齐问题,在iPad上移动了10个像素一个沟。这显然是某种导航控制器错误,因为其他线程中还有其他奇怪的问题。

 CGPoint tableorigin=CGPointMake(0,ISIPAD?0:10);
相关问题