UIActionSheet和警报麻烦

时间:2012-04-19 19:07:51

标签: iphone ios objective-c uialertview uiactionsheet

您好,我是Xcode和iOS编程的新手。 我在我的动作表和警报中遇到了一些麻烦,必须按两次才能工作。 它也说: “呈现由其超级视图剪辑的动作表”。某些控件可能无法响应触摸。在iPhone上尝试 - [UIActionSheet showFromTabBar:]或 - [UIActionSheet showFromToolbar:]而不是 - [UIActionSheet showInView:]。

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

    [actionSheet showInView:self.view];
}

任何帮助将不胜感激!

4 个答案:

答案 0 :(得分:5)

您需要将其放在标签栏(或工具栏)中,而不是:

 [actionSheet showInView:self.view];

DO

 [actionSheet showFromTabBar:self.tabBarController.tabBar];

答案 1 :(得分:1)

如果您的应用程序在要显示UIActionSheet的屏幕上使用导航栏(而不是工具栏),请尝试将其显示在导航控制器的工具栏上。

即使您隐藏了导航控制器的工具栏,也会显示操作表。

[myActionSheet showInView:self.navigationController.toolbar]

答案 2 :(得分:0)

我遇到了同样的问题,如果你使用了tabbar或naviatinbar,我决定使用[actionSheet showInView:self.parentViewController.view];代替self.view

答案 3 :(得分:0)

此方法也有效,它隐藏“显示由其超级视图剪切的操作表”警告。

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