Objective c tableView页脚奇怪的行为

Objective c tableView页脚奇怪的行为,objective-c,iphone,xcode,Objective C,Iphone,Xcode,给定:我在UITableViewController中的tableView上有一点“弹出”视图。我是这样放的: [self.navigationController.view addSubview:self.hoverView]; 问题:添加tableView页脚视图时,我无法看到此悬停视图。看似无关的是吗 self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 50)]; [s

给定:我在UITableViewController中的tableView上有一点“弹出”视图。我是这样放的:

[self.navigationController.view addSubview:self.hoverView]; 
问题:添加tableView页脚视图时,我无法看到此悬停视图。看似无关的是吗

self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 50)];
[self.tableView.tableFooterView addSubview:someLabel];
这些似乎是相互排斥的。我可以要一个,但另一个不行。要查看发生了什么,我打印子视图描述,如下所示:

for (UIView *sub in self.navigationController.view.subviews)
{
    NSLog([sub description]);
}

添加表页脚视图时,此代码不打印任何内容。否则,我将看到一些navigationController内部视图的预期输出。我错过了什么

不要将悬停视图添加到UINavigationController的视图中。与其使用UITableViewController,不如使用其视图包含UITableView作为子视图的UIViewController。(有关如何在UIViewController中实现UITableViewController其余功能的详细信息,请参阅)。然后将您的hoverView添加到该视图中,即使其成为UITableView的同级,但成为更晚的同级,使其显示在其上方


这可能无法解决您的问题,但我认为这是您最好的选择:UINavigationController的设计目的不是直接操纵其视图,而是将视图控制器推到其堆栈上,并相应地将子视图添加到其视图中。

添加tableView页脚视图时,正在页脚视图下方添加悬停视图。另外,您应该知道在第二个代码示例中正在泄漏内存。