2012-07-31 92 views
2

我面临的问题是,当我将我的viewcontroller放在navigationcontroller中时,它所做的只是更改导航栏并显示标准背景,但不会显示视图。我推的视图 - 控制到navigationcontroller代码如下所示:在navigationcontroller中推UIViewController显示空视图

Viewcontroller1 *viewController = [[Viewcontroller1 alloc] autorelease]; 
[[self navigationController] pushViewController:viewController animated:YES]; 

但是,如果我通过为它创建IBOutlets初始化视图控制器,它工作得很好。但是我没有这样做的原因是因为后来我需要在初始化时将一些参数传递给类。

谢谢你的时间。

+0

你是完全滥用系统这样 - 难怪你有很大的问题。您应该正常创建对象。在有人访问其视图属性之前,视图控制器不会调用viewDidLoad,因此在您再次推送它之前,您有很多配置属性的机会。 – 2012-07-31 11:16:23

+0

好吧,我是新来的ios编程,所以没有意识到这一点。谢谢。但是,通过正常创建对象,你到底意味着什么? – user1188650 2012-07-31 11:30:59

+0

[[MyViewController alloc] initWithNib:@“MyViewController”bundle:nil]; – 2012-07-31 11:35:12

回答

3

你必须初始化你的观点一样

如果你有厦门国际银行则

Viewcontroller1 *viewController = [[[Viewcontroller1 alloc] initWithNibName:@"Viewcontroller1" bundle:nil]autorelease]; 
[[self navigationController] pushViewController:viewController animated:YES]; 

如果你还没有XIB

Viewcontroller1 *viewController = [[[Viewcontroller1 alloc] init]autorelease]; 
[[self navigationController] pushViewController:viewController animated:YES]; 
+0

我已经试过,不会工作。所有ViewController都在同一个xib中。 它给出了例外: ***终止应用程序由于未捕获异常'NSInvalidArgumentException',原因:' - [Viewcontroller1 initWithNibName:]: – user1188650 2012-07-31 11:21:13

+0

使用你的秒方法,只有“init”结果在空白页面没有视图但只是导航栏。 – user1188650 2012-07-31 11:25:11

+0

使用此行查看viewController.title = @“View”;在导航之前和初始化之后添加此行。如果您在导航栏中看到标题视图,则意味着它导航到ViewController1 – Hiren 2012-07-31 11:26:55

相关问题