2012-04-19 91 views
2

你好,我是Xcode和iOS編程的新手。 我在工作表和我的警報中遇到了一些麻煩,必須按兩次才能工作。 它也這樣說: 「呈現由其超級視圖剪輯的動作表」。某些控件可能不會響應觸摸。在iPhone上嘗試 - [UIActionSheet showFromTabBar:]或 - [UIActionSheet showFromToolbar:]而不是 - [UIActionSheet showInView:]。UIAction表單和警報問題

{ 
    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 2012-06-18 20:54:18

5

你需要把它放在的TabBar(或工具欄),所以不是:

[actionSheet showInView:self.view]; 

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

如果您的應用程序正在使用要呈現UIActionSheet屏幕上的導航欄(而不是工具欄),嘗試PRES將其放在導航控制器的工具欄上。

即使隱藏了導航控制器的工具欄,也會顯示操作表。

[myActionSheet showInView:self.navigationController.toolbar]

+0

這不支持風景 – AmitP 2013-09-02 22:14:45

0

這種方法也工作,它隱藏警告「由它的父剪輯呈現動作片」。

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

這不支持風景 – AmitP 2013-09-02 22:15:04