Я работаю над приложением, поддерживающим портретные и ландшафтные режимы на основе ограничений. Когда появляется UIAlertView, функция авторотации вызывает странный эффект. Я хочу избежать авторотации только UIAlertView. Пожалуйста, помогите мнеКак предотвратить авторотирование для UIAlertView?
ответ
если Вы объявляя AlertView в другом классе .. в вашем случае AppDelegate
AppDelegate.h
@property BOOL alertShowing;
AppDelegate.m при вызове шоу alertview установить логическое значение как показано на экране предупреждения.
UIAlertView *YOUR_ALERTVIEW = [[UIAlertView alloc] initWithTitle:title message:details delegate:self cancelButtonTitle:nil otherButtonTitles:@"Okay", nil];
self.alertShowing = YES; //SET A BOOL PROPERTY UNIVERSALLY
[YOUR_ALERTVIEW show];
набор BOOL обратно в NO после отклонять от alertview
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
self.alertShowing = NO;
}
ViewController.m
затем проверить это логическое значение, прежде чем автоповорота.
-(BOOL)shouldAutorotate
{
BOOL rotate;
AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
if (appDelegate.alertShowing) {
if (appDelegate.alertShowing==YES) {
rotate = NO;
}
else if(appDelegate.alertShowing == NO)
{
rotate = YES;
}
}
else
{
rotate = YES;
}
return rotate;
}
Фактически alertview отображается с viewcontroller, где я отключил авторотирование. Но функция отображения alertview определена в appdelegate (sharedApplication Delegate). При необходимости вызывается этот метод. Будет ли это работать над этим сценарием ??? –
, если вы вызываете alertview в appDelegate, установите BOOL в appDelegate. и проверьте appDelegate.alertviewShowing == true –
Его не работает для меня :( –
- 1. Как предотвратить авторотирование OrbitControls от эллиптического пути?
- 2. предотвратить UIAlertView от отклонения
- 3. Запретить авторотирование для одного контроллера вида?
- 4. Как остановить авторотирование, когда модальный вид активен?
- 5. Как я могу предотвратить появление окна UIAlertview в моем приложении
- 6. Как предотвратить появление множественных предупреждений UIAlertView сразу после всплытия?
- 7. UIAlertView внутри UIAlertView
- 8. Принудительное авторотирование зрения в ios 6
- 9. Отключить авторотирование в одном подзоне в iOS8
- 10. UIAlertView в UIAlertView
- 11. UIAlertView для извлечения JSON
- 12. Запись функции для UIAlertView?
- 13. Отключить авторотирование во время анимационного шоу
- 14. Настройка делегата для UIAlertView
- 15. UIAlertView, представленный для UIAlertViewStyleSecureTextInput
- 16. UIAlertView
- 17. Кнопка UIAlertView за пределами UIAlertView
- 18. UIAlertView отключить автоматическое отклонять
- 19. Отображение UIAlertView как медленно
- 20. Как работает [UIAlertView show]?
- 21. Как создать пользовательский UIAlertView
- 22. Как получить результат UIAlertView?
- 23. Как показать «Загрузка UIAlertView» для системной команды?
- 24. Цвет по умолчанию для UIAlertView
- 25. Как настроить сообщение UIAlertView
- 26. Как позиционировать UIAlertView
- 27. Как настроить UIAlertView
- 28. Невозможно установить метки для UIAlertView
- 29. Переменные переменные аргументы для UIAlertView
- 30. Поведение UIAlertView show() для UIAlertController
Что вы пытались до сих пор? – demonplus
Искал и попробовал разные решения, но не работал вообще. Есть идеи? –
Я не думаю, что вы можете включить поддержку ландшафта, а не автоматически настраивать виды предупреждений. вы можете просто выполнить пользовательский 'UIView', чтобы сделать это –