Я начал с приложения с вкладками, у которого есть 2 вида (firstviewcontroller и secondviewcontroller). Второй контроллер вида не имеет фонового изображения, но первый имеет.
У меня есть 2 изображения, одно для protrait и одно для пейзажа. все, что я хочу сделать, это загрузить фоновое изображение всякий раз, когда меняется ориентация. Я хочу поддерживать все ориентации.
вот мой метод viewdidload
-(void)viewDidLoad
{
imgview=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bgportrait.png"]];
[imgview setFrame:CGRectMake(0, 0, 768, 1024)];
[self.view addSubview:imgview];
[self.view sendSubviewToBack:imgview];
[imgview release];
}
(BOOL) shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) interfaceOrientation
{NSLog (@ "in mustrotate");
вернуть ДА;
}
(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
if (toInterfaceOrientation == (UIInterfaceOrientationPortrait || UIInterfaceOrientationPortraitUpsideDown))
{
NSLog(@"in portrait");
}
else if (toInterfaceOrientation == (UIInterfaceOrientationLandscapeLeft || UIInterfaceOrientationLandscapeRight))
{
NSLog(@"in landscape");
}
}
в willRotateToInterfaceOrientation он никогда не входит ни в один из циклов if и не печатает журнал, я не уверен, почему он не соответствует ориентации ни одному из них. Я просто хочу установить соответствующий backgroundimage для первого viewcontroller. я знаю, что это должно быть очень просто, но я не могу понять это правильно.