Я пытаюсь создать собственный внешний вид моего UINavigationBar. Когда пользователь помещает приложение в ландшафт, навигационная панель должна быть покрыта изображением. При повороте назад к портрету я хочу, чтобы View (Image) был удален. Все работает отлично с кодом ниже, кроме как удалить его. Я могу удалить View, если я поместил код в один и тот же оператор if, но ничего не произойдет, если я поместил его в else if-statement. Я что-то пропустил?/Отношения, добавляя subView в UINavigationBar и удаляя его
- (void) adjustViewsForOrientation:(UIInterfaceOrientation) orientation {
UIView *v = [[UIView alloc]init];
if (orientation == UIInterfaceOrientationLandscapeLeft || orientation == UIInterfaceOrientationLandscapeRight)
{
v.frame = CGRectMake(0,0,480,44);
v.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"navbar25g.png"]];
[self.view addSubview:v];
//[v removeFromSuperview]; <----- works if I put it here
NSLog(@"LANDSCAPE");//load the landscape view
}
else if (orientation == UIInterfaceOrientationPortrait || orientation == UIInterfaceOrientationPortraitUpsideDown)
{
[v removeFromSuperview]; <----- Not working
NSLog(@"PORTRAIT"); //load the portrait view
}
}