2012-04-19 2 views
2

Здравствуйте, я новичок в Xcode и программировании в iOS. У меня возникли проблемы в моем листе действий и моем предупреждении, нужно дважды нажать, чтобы работать. В нем также сказано следующее: «Представление рабочего листа, подрезанного его надзором». Некоторые элементы управления могут не реагировать на касания. На iPhone попробуйте - [UIActionSheet showFromTabBar:] или - [UIActionSheet showFromToolbar:] вместо - [UIActionSheet showInView:].UIAction Sheet and Alert trouble

{ 
    UIActionSheet *actionSheet = [[UIActionSheet alloc] 
            initWithTitle:@"¿?" delegate:self cancelButtonTitle:@"No" destructiveButtonTitle:@"Send" otherButtonTitles:nil]; 

    [actionSheet showInView:self.view]; 
} 

любая помощь будет благодарна благодарю!

ответ

0

У меня была такая же проблема, и я решил, используя [actionSheet showInView:self.parentViewController.view]; вместо self.view, если вы использовали TabBar или naviatinbar

+0

dobiho, ваш путь может работать, но вы действительно должны делать то, что они рекомендуют, используя 'showFromTabBar'. См. Мой ответ. – mkral

5

Вы должны поместить его в TabBar (или панели инструментов), поэтому вместо того, чтобы:

[actionSheet showInView:self.view]; 

сделать

[actionSheet showFromTabBar:self.tabBarController.tabBar]; 
1

Если ваше приложение использует панель навигации (а не на панели инструментов) на экране, где вы хотите, чтобы представить UIActionSheet, попробуйте вр на панели инструментов навигационного контроллера.

Это также представляет лист действий, даже если вы скрыли панель инструментов вашего навигационного контроллера.

[myActionSheet showInView:self.navigationController.toolbar]

+0

Это не поддерживает ландшафт – AmitP

0

Этот метод также работает, он скрывает «Представление действия листа подрезан его надтаблицы» предупреждения.

[actionSheet showInView:[UIApplication sharedApplication].keyWindow]; 
+0

Это не поддерживает пейзаж – AmitP