Отключение самовращается для единственного UIView

Хорошо, это кажется, что должно быть относительно просто, но я гуглил к лучшему часть часа и, может казаться, не нахожу то, в чем я нуждаюсь.

У меня есть контроллер представления, который имеет несколько различных частей: фоновое представление, представление заголовка и несколько кнопок. Теперь, я хочу, чтобы заголовок и кнопки самовращались правильно (они делают, когда я возвращаю ДА из shouldAutorotateToInterfaceOrientation:), но ни при каких обстоятельствах не должен фоновое представление вращаться. Существует ли надлежащий способ сделать это?

6
задан Peter Hosey 3 February 2010 в 17:00
поделиться

2 ответа

Не знаю, как "правильно", но обходной путь - это создать фоновое изображение в обеих ориентациях и просто изменить вид фона. Хороший вопрос, однако - будет интересно посмотреть, что люди придумывают в качестве решения.

1
ответ дан 10 December 2019 в 00:38
поделиться

Есть еще одна работа, о которой я думал...

Вы можете использовать:

bgView.transform = CGAffineTransformMakeRotate(angle);

Вы должны вычислить угол в соответствии с ориентацией (это может быть M_PI/2, M_PI или 3*M_PI/2)....

Вы можете использовать эту функцию внутри - (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration, а также обернуть его анимацией, которая будет анимировать в течение точно такой же продолжительности, как и анимация ориентации экрана:

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
    // Decide what will be the angle...

    // Make the animation
    [UIView beginAnimations:@"orientationChange" context:nil];
    [UIView setAnimationDuration: duration];
    bgView.transform = CGAffineTransformMakeRotate(angle);
    [UIView commitAnimations];
}

Заметьте, что размер вида может быть изменен из-за верхнего бара....

Заметьте также, что я сам никогда не пробовал...

2
ответ дан 10 December 2019 в 00:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: