Я создал вид, который хочу вращать.Два вида: containerView
и .backgroundColor
красного цвета и BackgroundImage
в качестве подпредставления.Вот мой код для поворота:
- (void) willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
[self adjustViewsForOrientation:toInterfaceOrientation];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return YES;
}
- (void) adjustViewsForOrientation:(UIInterfaceOrientation)orientation {
if (orientation == UIInterfaceOrientationLandscapeLeft || orientation == UIInterfaceOrientationLandscapeRight) {
backgroundImage.image = [UIImage imageNamed:@"landscape.jpg"];
backgroundImage.frame = CGRectMake(0, 0, 1024, 704);
containerView.frame = CGRectMake(0, 0, 1024, 704);
self.title = @"landscape";
} else if (orientation == UIInterfaceOrientationPortrait || orientation == UIInterfaceOrientationPortraitUpsideDown) {
backgroundImage.image = [UIImage imageNamed:@"portrait.jpg"];
backgroundImage.frame = CGRectMake(0, 0, 768, 960);
containerView.frame = CGRectMake(0, 0, 768, 960);
self.title = @"portrait";
}
}
Проблема в том, что изображение вращается, но цвет фона отображается во время вращения вида.Есть хорошее решение этой проблемы (я знаю, что я мог бы создать изображения, чтобы смешаться в цвет и установить фон в тот же цвет, но это не то, что я хотел бы).
Видео проблемы можно посмотреть здесь: http://tinypic.com/r/2quj24g/6
PS изображения взяты из OmniGroup GitHub repo и используются только для демонстрации.