У меня есть два изображения:
Help-Portrait.png (320 x 480)Help-Landscape.png (480 х 320)
Когда пользователь нажимает кнопку справки в любом представлении, ему необходимо представить правильное изображение, которое также должно поворачиваться, когда устройство это делает.Я попытался добавить imageView к окну и представлению контроллера навигации.
По какой-то причине у меня возникли проблемы с этим.Кто-нибудь может пролить свет на то, что я делаю неправильно?
UIImage *image = nil;
CGRect frame;
if (UIInterfaceOrientationIsPortrait([[UIApplication sharedApplication] statusBarOrientation])) {
image = [UIImage imageNamed:@"Help-Portrait.png"];
frame = CGRectMake(0, 0, 320, 480);
} else {
image = [UIImage imageNamed:@"Help-Landscape.png"];
frame = CGRectMake(0, 0, 480, 320);
}
if (!helpImageView) {
helpImageView = [[UIImageView alloc] initWithFrame:frame];
helpImageView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
helpImageView.image = image;
}
[[UIApplication sharedApplication] setStatusBarHidden:YES];
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(helpImageTapped:)];
helpImageView.userInteractionEnabled = YES;
[helpImageView addGestureRecognizer:tap];
[self.view addSubview:helpImageView];
[tap release];
willRotateToInterfaceOrientation:
if(helpImageView) {
[(id)[UIApplication sharedApplication] setStatusBarHidden:NO animated:YES];
if (UIInterfaceOrientationIsPortrait(toInterfaceOrientation)) {
helpImageView.image = [UIImage imageNamed:@"Help-Portrait.png"];
} else {
helpImageView.image = [UIImage imageNamed:@"Help-Landscape.png"];
}
}
Когда вы поворачиваете устройство, изображение и рамка не изменяются, и вы в конечном итогес двумя третями портретного изображения, отображаемого в левой части экрана.
Мне нужно, чтобы оно показывало правильное изображение для ориентации в правильном направлении вверх.Также я хотел бы анимацию для поворота изображения, но это побочный вопрос