Ios 将UITableViewController推送到导航堆栈失败

Ios 将UITableViewController推送到导航堆栈失败,ios,uinavigationcontroller,uitabbarcontroller,Ios,Uinavigationcontroller,Uitabbarcontroller,我有一个带有UITabBarController的应用程序,其中嵌套了一些UINavigationController,还有那些导航控制器中UITableViewController的子类。当我尝试将新创建的UITableViewController推送到包含现有tableView的现有导航控制器上时,应用程序挂起,仪器显示它通过调用[UIWindow\u subtreeMonitorsForView:,一次又一次地分配某些内容,不管是什么 我以一种非常简单的方式推动控制器,只是: _order

我有一个带有
UITabBarController
的应用程序,其中嵌套了一些
UINavigationController
,还有那些导航控制器中
UITableViewController
的子类。当我尝试将新创建的
UITableViewController
推送到包含现有tableView的现有导航控制器上时,应用程序挂起,仪器显示它通过调用
[UIWindow\u subtreeMonitorsForView:
,一次又一次地分配某些内容,不管是什么

我以一种非常简单的方式推动控制器,只是:

_orderForm = [[OrderFormViewController alloc] init];
[self.navigationController pushViewController:_orderForm animated:YES];
如果我更改它,以便推送一个普通的
UIViewController
,而不是一个表,它就可以正常工作。也就是说,如果我只是将OrdFraceValueCopy.h文件中的声明从<代码> UITableViewController < /代码>改为<代码> UIViewController < /代码>,它就显示了空白视图,没有挂起。有什么问题吗


注意,OrderFormViewController.h的内容非常简单,只包含标准的内置函数。我试着推一个不同的
UITableViewController
(当用来初始化
UINavigationController
)的子类,结果是一样的-应用程序挂起并不断消耗内存。

我发现了这一问题的罪魁祸首以及其他一些类似的错误。事实上,在实例化控制器之前,我在我的应用程序委托中执行此操作:

UIView *bg = [[UIView alloc] initWithFrame:CGRectZero];
bg.backgroundColor = [UIColor whiteColor];
[[UITableView appearance] setBackgroundView:bg];
关于使用
[UITableView外观]
的某些内容在代码中并不起作用,包括无法在任何变体中使用
UIDatePicker
(尽管
UIPickerView
仍然有效,这只会让我更加困惑)


由于某种原因,整个
UIAppearance
协议,尽管听起来很有前途,但仍然存在一些问题,这不是我第一次发现它是导致一些奇怪错误的原因。除掉它,一切都会变得完美。

我已经找到了这个问题的罪魁祸首,还有一些其他类似的问题。事实上,在实例化控制器之前,我在我的应用程序委托中执行此操作:

UIView *bg = [[UIView alloc] initWithFrame:CGRectZero];
bg.backgroundColor = [UIColor whiteColor];
[[UITableView appearance] setBackgroundView:bg];
关于使用
[UITableView外观]
的某些内容在代码中并不起作用,包括无法在任何变体中使用
UIDatePicker
(尽管
UIPickerView
仍然有效,这只会让我更加困惑)


由于某种原因,整个
UIAppearance
协议,尽管听起来很有前途,但仍然存在一些问题,这不是我第一次发现它是导致一些奇怪错误的原因。扔掉它,一切都会变得完美。

你必须推它吗?使用方法presentModalViewController如何?
pushViewController
presentViewController
都会产生相同的结果,实际上您使用的是xibs或情节提要?所有控制器都是按程序创建的,您必须推送它吗?使用方法presentModalViewController如何?
pushViewController
presentViewController
都会产生相同的结果,实际上您使用的是xibs或故事板?所有控制器都是以编程方式创建的。我在过去的5个小时里一直卡在其中。我在AppDelegate中定义了所有的Appearence代理,当我把它注释掉的时候,其他的一切都像一个符咒一样工作!在过去的5个小时里,我被困在里面。我在AppDelegate中定义了所有的Appearence代理,当我把它注释掉的时候,其他的一切都像一个符咒一样工作!