iphone - UIActionSheet 和 UITabBar 之间的奇怪错误

Posted

技术标签:

【中文标题】iphone - UIActionSheet 和 UITabBar 之间的奇怪错误【英文标题】:iphone - weird bug between UIActionSheet and UITabBar 【发布时间】:2010-01-19 20:34:29 【问题描述】:

在我的标签栏应用程序中,我从一个操作中调出 UIActionsheet,从导航控制器标题栏中的按钮调用。

UIActionsheet 的功能正常,除了下方按钮“取消”的下半部分,奇怪的是它在 iPhone 模拟器中对触摸没有响应。取消按钮的下半部分是 UITabBar 所在的位置,因此可能是问题所在。

有什么想法吗?

alt text http://img12.imageshack.us/img12/2166/screenshot20100119at236.png

解决方案

我的解决方案来自第一个答案。这是我的工作示例代码

UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:message delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:@"OK" otherButtonTitles:nil];
        actionSheet.actionSheetStyle = UIActionSheetStyleDefault;
        [actionSheet showInView:[UIApplication sharedApplication].keyWindow];
        [actionSheet release];

【问题讨论】:

无论您使用的是 TOOLBAR 视图还是非 TOOLBAR 视图,这看起来都有效。我们应该“总是”使用这种方法吗? 【参考方案1】:

在我看来,这就像一个 UIActionSheet...

无论如何,您应该将操作表显示为应用程序窗口的子视图,而不是当前视图的子视图。

UIActionSheet *actionSheet = [[UIActionSheet alloc] init...];

// ...

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

【讨论】:

以上是关于iphone - UIActionSheet 和 UITabBar 之间的奇怪错误的主要内容,如果未能解决你的问题,请参考以下文章

我们可以在 UIActionsheet 中使用 CCMenuItemToggle 吗?(cocos2d-iphone)

从 UITabBar 按钮调用的 iPhone UIActionSheet

如何处理 UIActionSheet 的转换

UIActionSheet 在 UIPopoverController 中有 20 多个选项

创建半透明覆盖以模仿 UIAlertView 或 UIActionSheet?

具有许多项目的 UIActionSheet 覆盖文本