gpt4 book ai didi

ipad - 在 iPad 上使用自定义 View 显示来自 UIBarbuttonItem 的弹出窗口,就像在邮件应用程序中一样?

转载 作者:行者123 更新时间:2023-12-05 01:01:29 26 4
gpt4 key购买 nike

我的问题与此类似< question > ,其中 OP 的目标是将 UIBarButtonItems 的数组显示为 navigationItem.rightBarButtonItems,没有 barbuttons 的轮廓/边框。他的解决方案是使用 UIButton 自定义 View 初始化 UIBarButtonItem,提供了所需的外观,并且 UIButton 目标/操作模式适用于调用方法,但不适用于定位 UIPopoverController。

我想做的是在弹出窗口中显示一个 actionSheet(即在 iPad 上显示一个 actionSheet),并且(从不同的按钮)显示一个打印 Controller 弹出窗口,弹出窗口箭头指向选定的栏按钮,就像 iPad 邮件应用程序中的 rightBarButton 项目一样。

问题是,呈现 actionSheet 或 popover 的方法:

[UIActionSheet showFromBarButtonItem:bbtn animated:YES];

[UIPrintInteractionController presentFromBarButtonItem:printButton animated:YES completionHandler:completionHandler]

在调用 UIButton 发送器时不起作用。此外,从 CGRect 呈现的方法,例如

[controller presentFromRect:rect inView:self.view animated:YES completionHandler:completionHandler]

不要正确定位弹出指针。

我已经尝试使用 UIView convertRect:toView: 转换按钮框架并从转换后的矩形中呈现弹出窗口,但我要么做错了,要么无法从没有框架属性的 UIBarButtonItem super View 。弹出框已显示,但弹出框箭头未指向所选按钮。

最佳答案

尝试在导航 Controller 的 View 坐标中计算转换后的按钮框架。例如

CGRect convertedRect = [self.navigationController.view convertRect:button.bounds fromView:button];
[controller presentFromRect:convertedRect inView:self.navigationController.view animated:YES completionHandler:completionHandler];

关于ipad - 在 iPad 上使用自定义 View 显示来自 UIBarbuttonItem 的弹出窗口,就像在邮件应用程序中一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14086632/

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