【问题标题】:UIActionsheet on rotationUIActionsheet 关于旋转
【发布时间】:2014-04-25 13:11:02
【问题描述】:

我正在我的应用程序中启动 UIActionsheet。在旋转时,操作表未居中对齐,因此在旋转时我关闭操作表并使用重新打开它

[actionsheet dismissWithClickedButtonIndex:-1 animated:NO];
[actionsheet showInView:self.view];

但问题出在 iOS6 中会引发以下错误

* 由于未捕获的异常“UIViewControllerHierarchyInconsistency”而终止应用程序,原因:“一个视图一次最多只能与一个视图控制器关联!视图 > 与 <_uiactionsheethostingcontroller:> 相关联。在将此视图与 <_uiactionsheethostingcontroller:> 关联之前清除此关联。

我尝试使用:

[actionsheet showInView:[UIApplication sharedApplication].keyWindow.rootViewController.view];

但我仍然遇到同样的错误。

iOS7 上一切正常。

我搜索了很多,但修复大多是通过 XIB 完成的。我想以编程方式解决它。有人对此有任何想法吗?

【问题讨论】:

    标签: ios uiactionsheet


    【解决方案1】:

    编辑:此问题的原因是无法同时删除和显示

    [actionsheet dismissWithClickedButtonIndex:-1 animated:NO];
    //adding some delay as dismissing one actionsheet and presenting actionsheet after some time
    [self performSelector:@selector(showActionSheet) withObject:nil afterDelay:0.3];
    

    在下面添加这些方法:

    -(void)showActionSheet
    {
      [actionsheet showInView:self.view];
    }
    

    【讨论】:

    • 如果键盘在与操作表相同的视图中打开,则会再次出现此问题。你知道如何解决这个问题吗?
    猜你喜欢
    • 2013-11-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-10
    相关资源
    最近更新 更多