2012-11-24 17 views
5

UINavigationController bir alt görünüm denetleyicisi olarak eklemeye çalışıyorum ve daha sonra ebeveyninden daha küçük bir çerçeve vereceğim. Ancak, gezinme denetleyicisinin çerçevesinin değiştirilmesi, gezinme denetleyicisinin kök görüntüleme denetleyicisinin çerçevesini değil değiştirmez. viewWillAppear: yılında SonraAlttan görünüm denetleyicisi olarak eklenen bir gezinme denetleyicisinin çerçevesini ayarlama

RootController *rootController = [[RootController alloc] init]; 
_navController = [[UINavigationController alloc] initWithRootViewController:rootController]; 
[rootController release]; 

[self addChildViewController:_navController]; 
[self.view addSubview:_navController.view]; 
[_navController didMoveToParentViewController:self]; 

viewDidLoad yılında

: gezinti çubuğu düzgün yerleştirilir iken

CGRect bounds = self.view.bounds; 
bounds.origin.x = 20; 
bounds.origin.y = 20; 
bounds.size.width = bounds.size.width - 20; 
bounds.size.height = bounds.size.height - 20; 
_navController.view.bounds = bounds; 

, kök görünümü denetleyicisi beyaz arka plan değildir. Tam olarak neyi yanlış yapıyorum? Yardım ettiğin için teşekkür ederim. enter image description here

cevap

7
Aslında hemen ebeveyne çocuk görünümü denetleyicisi ekledikten sonra sen viewDidLoad bunu çalışır

:

_navController.view.frame = CGRectInset(self.view.bounds, 20, 20);