什么会导致导航控制器中表格的第一行被定位,因此其中一部分位于导航控制器下?
我似乎无法让它从上到下显示整行;它可能看起来很小,但显然不正确,我发现它没有吸引力。
TableViewController完全在代码中添加到导航控制器:
SettingsRootController*settings=[[SettingsRootController alloc] initWithStyle:UITableViewStylePlain];
self.settingsView=[[[UINavigationController alloc] initWithRootViewController:settings]autorelease];
[settings release];
SettingsRootController
是UITableViewController的子类。
答案 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);