2011-11-06 34 views

回答

0

據我所知,你無法確定是否一個視圖控制器是在init方法的正常順序導航控制器內是 1.對象被初始化 2.對象被推到導航控制器上。

,如果你事先知道,而初始化,這將是推到一個視圖控制器視圖控制器,你可以添加新的init方法,如:

-(id)initWithBool:(BOOL)willIBePushedOnANavigationController 
{ 
//insert whatever code for specific case for input 
[self init]; 
} 

希望這有助於

+0

這是我決定做的,而不是在初始化時確定。它工作,所以我想這是唯一可以做到的真正方法。 – TigerCoding

0

這樣做:

if([self.navigationController isKindOfClass:[UINavigationController class]]){ 
    NSLog(@"yes it has navigation Controller"); 

} 
else{ 
    NSLog(@"nope it doesnt have"); 
} 

NSLog(@"See Results Here => %@",[self.navigationController isKindOfClass:[UINavigationController class]]); 

問候,

裏諾·瓊斯

+0

這工作,但不在init方法中。有什麼方法可以在init方法中確定它嗎? – TigerCoding

+0

視圖控制器在初始化時如何知道它將來如何顯示?也許不是在** init **方法中實現它,而是可以在** viewWillAppear **中實現它,並在那裏執行任何佈局/樣式更改? –

+0

我寧願在viewWillAppear中執行此操作,但存在導致佈局突然到位的性能問題。也許在init中解決這個問題是不可能的? – TigerCoding

相關問題