3

我正在使用 UINavigationController 来处理我的应用程序中 viewControllers 的推送和弹出。有一个部分,我有一个标签栏(不使用 UITabbarController),它由同一个 UINavigationController 管理,我只需将 UITabBar 添加到导航控制器视图(通过使用 addSubview)。

问题:我有一些带有表视图的 UIViewControllers 被推入导航堆栈,因为我的 Tab Bar 是视图的一部分而不是导航堆栈,所以 TableViews 在底部被切断,因为导航控制器不知道标签栏因为它在它的视图中,而不是导航堆栈。如果没有导航控制器,我只会调整 ViewControllers 视图的大小,它会正常工作,但是当我尝试这样做时,NavigationCOntroller 似乎只是忽略了我的框架并设置了它自己的框架,因此表格视图被切断了。我找到了一种解决方案,它是添加一些额外的单元格并将它们隐藏起来,它工作得有点好,但它有点像黑客,有人对如何以不同的非黑客方式解决这个问题有任何建议吗?

谢谢

4

2 回答 2

1

好的,所以我解决了这个问题。我之前尝试过调整 UITableView 而不是 viewController 的大小,但这不起作用。不过我刚刚意识到,这不起作用,因为我使用的是管理自己的 tableView 的 UITableViewController 并且没有让我更改它的框架(也许我在错误的地方更改它,在 viewDidLoad 中尝试过,我敢打赌,如果我在调用 [super viewDidload] 之后就这样做了,它本来可以工作的..o 好)。因此,我将类更改为 UIViewController 并在其中管理表格视图,现在效果很好,感谢您的回复。

于 2009-08-19T21:00:48.650 回答
0

尝试将根视图设置为 UIView,并使用 UITableView 作为子视图。然后将 UITabBar 添加到 UIView 实例。现在 UITableView 不会知道 UINavigationController。

于 2009-08-19T19:45:26.087 回答