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

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


但是问题是在iOS6中它引发以下错误

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

我尝试使用:

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


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

在iOS7上一切正常。

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

最佳答案

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

[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];
}

关于ios - 旋转时的UIActionsheet,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22503344/

10-12 00:06