gpt4 book ai didi

ios - 当用户触摸外部弹出窗口时,在 ipad 上禁用 ActionSheet dismiss

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:26:52 24 4
gpt4 key购买 nike

我的应用程序中显示了一个操作表,它在 iphone 上运行良好。但是,在 ipad 上,它会自动在弹出窗口中创建操作表,我无法让它在用户触摸操作表外部时禁用消失。

我已经更改了操作表在 ipad 上的显示方式,现在使用以下方式显示:

        UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Choose a preloaded picture", @"Use a photo", nil];
actionSheet.actionSheetStyle = UIActionSheetStyleBlackOpaque;
actionSheet.tag = 1;
[actionSheet showFromRect:CGRectMake(100, 0, 300, 300) inView:self.view animated:YES];
[actionSheet release];

我也试过用。

- (BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController
{
return NO;
}

关于如何在用户触摸操作表外部时阻止 uiactionsheet 弹出窗口消失的想法?

最佳答案

您的 popoverControllerShouldDismissPopover: 方法不会被调用,因为它是 UIPopoverControllerDelegate 方法,而您正在处理 UIActionSheet。由于 UIKit 会自动为您创建 popover Controller ,您将没有机会设置它的委托(delegate)。您可以使用 [popoverActionsheet superview] 访问弹出 View 本身,但这不会为您提供 UIPopoverController。

从用户体验的角度来看,Apple 会要求您不要实现此类行为 — 如果您需要以模态方式呈现选项(在用户做出选择之前它们不会消失),那么用户会更喜欢熟悉 UIAlertView,或 a modally-presented view controller of your own .

关于ios - 当用户触摸外部弹出窗口时,在 ipad 上禁用 ActionSheet dismiss,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8094336/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com