我有一个uibarbuttoneim打开一个行动表,为用户提供关于做什么的 Select .除非我试着点击"取消"按钮,否则一切正常.按钮的目标似乎已经从它应该的位置向上移动.我只能通过点击"取消"和"OK"按钮中间的某个按钮来激活它.

我在其他应用程序中try 过动作表,它们工作得很好,所以这不仅仅是我的大拇指.操作表正在UIViewController中打开

- (void)showOpenOptions
{
    UIActionSheet *sheet = [[UIActionSheet alloc] 
    initWithTitle:NSLocalizedString(@"Open link in external application?", @"Open in external application")
    delegate:self
    cancelButtonTitle:NSLocalizedString(@"Cancel", @"Cancel")
    destructiveButtonTitle:NSLocalizedString(@"Open Link", @"Open Link")
    otherButtonTitles:nil];

    [sheet showInView:self.view];
    [sheet release];
}

推荐答案

使用UIActionSheetshowFromTabBar:方法,而不是将当前视图控制器的视图传递给操作表.

The Right Way
这将提供正确的可点击区域:

[actionSheet showFromTabBar:self.tabBarController.tabBar];

The Wrong Way

[actionSheet showInView:self.view];

If you're using a toolbar,改用showFromToolbar:法.你需要一个对工具栏的引用,很可能是一个ivar

[actionSheet showFromToolbar:self.myToolbar];

My Old Answer也行得通,但有点老生常谈:

刚刚找到了一个可能的答案:

01-Dec-2008晚上10:22汤姆·萨克斯顿:

如果从作为UITabViewController子级的视图控制器调用UIActionSheet的[sheet showInView:self.view],则在选项卡栏视图上方的UIActionSheet部分中,对Cancel按钮的点击测试失败.

如果改为传入UIAbbarController的视图,则UIActionSheet将按预期运行.

注意:在iPhone OS 2.1和更早版本中,当您经过子视图时,UIActionSheet从选项卡栏的顶部出现,但在2.2中,它从选项卡栏的底部出现,因此覆盖了选项卡视图.

http://openradar.appspot.com/6410780

Edit:当我将视图更改为选项卡栏的视图时,它可以正常工作

[sheet showInView:self.parentViewController.tabBarController.view];

Ios相关问答推荐

SwiftUI中ForEach和@ State数组的可能并发问题

我想在expo 中使用useSafeAreaInsets来获取paddingbottom,但我得到了一个错误

为什么Reaction-Native-Vision-Camera不能与闪光灯一起使用?

ios PWA从外部链接返回后降低了innerheight

UIAlertController的空子类是否可以与`appearance(whenContainedInInstancesOf:)`一起安全使用

检测touch 并忽略其他手势SWIFT SceneKit

OBJC @selector 在另一个实现中不起作用

AVAudioRecord 没有音频

Swift - 缺少函数参数在编译期间不会失败,甚至会导致不同的数据类型?

Swift Vision库识别文本后如何将其赋值给 struct 体实例属性以供显示?

SwiftUI:如何为 ScrollView 制作可拉伸(灵活)的粘性标题?

如何识别 SwiftUI 中点击的按钮 ID 以使该按钮动画化?

在iOS7半透明导航栏中获取正确的 colored颜色

SwiftUI NavigationLink 立即加载目标视图,无需单击

何时需要将应用程序源包含在测试目标中?

为什么 Safari 在使用 iOS 6 设备进行远程调试时显示No Inspectable Applications?

获取 iOS 上所有联系人的列表

swift 语言中的 null / nil

UITableView:从空白部分隐藏标题

如何为 NSDate 添加一个月?