【问题标题】:UIAction Sheet and Alert troubleUIAction Sheet 和警报问题
【发布时间】:2012-04-19 19:07:50
【问题描述】:

您好,我是 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];
}

任何帮助将不胜感激!

【问题讨论】:

    标签: iphone ios objective-c uialertview uiactionsheet


    【解决方案1】:

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

     [actionSheet showInView:self.view];
    

     [actionSheet showFromTabBar:self.tabBarController.tabBar];
    

    【讨论】:

      【解决方案2】:

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

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

      [myActionSheet showInView:self.navigationController.toolbar]

      【讨论】:

      • 这不支持横向
      【解决方案3】:

      我遇到了同样的问题,如果您使用 tabbar 或 naviatinbar,我使用 [actionSheet showInView:self.parentViewController.view]; 而不是 self.view 解决了

      【讨论】:

      • dobiho,您的方式可能可行,但您确实应该按照他们的建议使用showFromTabBar。看我的回答。
      【解决方案4】:

      这个方法也有效,它隐藏了“Prepresenting action sheet被它的superview剪切”警告。

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

      【讨论】:

      • 这不支持横向
      猜你喜欢
      • 1970-01-01
      • 2021-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多