问题标签 [uipopoverpresentationcontroller]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 如何将点击手势添加到变暗的视图背景?
我已经尝试了一段时间。下面的代码是我的 UIPresentationController。当一个按钮被按下时,我添加了一个暗淡的 UIView 并且第二个模态(presentedViewController)在中途弹出。
我在方法presentationTransitionWillBegin() 中添加了点击手势识别器我不知道为什么当我点击变暗的UIView 时没有注册点击手势。
我试过改变“目标”并在不同的地方添加手势。还看了其他帖子,但对我没有任何帮助。
谢谢
ios - 如何避免在 UItoolBar 中的 UIBarButtonItem 中同时启动两个 UIPopoverPresentationController
我正在将使用 UIPopoverController 的旧 iOS 应用程序转换为新的 UIPopoverPresentationController。我有两个弹出框(A 和 B),每个弹出框都是通过单击 UIToolBar 中的 UIBarButtonItem(butA,butB)启动的。我有每个弹出窗口都显示得很好。如果我在主视图中单击,弹出框会正确消失。
如果我按 butA popover A 出现。如果我然后按 butB 没有任何反应。在这种情况下,弹出框控制器 B 是从 UIBarButtonItem (butB) 呈现的。
如果我在 butA 和 butB 附近的 sourceRect 中显示弹出框,我会得到稍微不同的结果。点击butA,弹出框A出现。点击butB弹出框A消失。再次单击 butB,然后出现弹出框 B。
当我单击 butB 时弹出框 A 消失,我怎样才能让它正常工作?我试图将 ViewController A 作为 butB 按下操作的一部分解除,但此时的 ViewController A 对象为零。
任何帮助,将不胜感激。
uipopovercontroller - 更改 iOS 13 UIPopoverPresentationController 模糊和阴影量?
iOS 13 中 UIPopoverPresentationController 显示的模态弹出框视图的外观与 iOS 12 中的外观相比发生了显着变化。基色更深,背景阴影不同,弹出框下背景的模糊量非常不同。
如果我将弹出框内容的背景设置为纯色、非 alpha 透明颜色,我不会有任何问题,但我是,我无法弄清楚如何访问我的内容所在的视图/图层显示以改变事物。
将 的 设置为完全透明backgroundColor
的UIPopoverPresentationController
东西(alpha = 0.0)不会给我一个完全透明的弹出框。我实现了一个UIPopoverPresentationControllerDelegate
并尝试使用该prepareForPopoverPresentation:
方法访问弹出框内容所在的视图并进行修改,但我似乎找不到它:superview()
是 nil,并且UIPopoverPresentationController.presentedView()
也是 nil(至少当那个委托时它们是方法被调用)。不是零,绝对是显示弹出框的UIPopoverPresentationController.containerView()
覆盖视图……但这不是我要寻找的视图。
所以......我想知道我在这里错过了什么。我非常希望不必实现我自己的UIPopoverBackgroundView
,因为popoverBackgroundViewClass
尽管我知道这是一种可能性。
ipad - IPAD 从 UIAlertController 样式 UIAlertControllerActionSheet 呈现 UIActivityViewController “无法同时满足约束”
我将 UIAlertController 呈现为操作表,并带有一个按钮,该按钮应在选择时打开 ActivityView....
这两种方法都在同一个 ViewController 类中......并且在 iphone 8、iPhone Pro 11 Max 等上运行良好。但在 iPad 上测试时失败。(全部运行 13.5)
最初的失败是 popoverPresentationController 没有设置 sourceview 或 barbuttonitem (或类似的东西),所以我添加了以下行:
到分享方法。这让我过去了……所以,现在 IPAD 不会因 GenericException 崩溃……但它也不会出现 activityView。它只是抛出了一堆似乎与试图显示的 ActivityView 相关的约束违规,
)
但我对此没有设置任何限制......以及关于引用我的应用程序没有或使用的导航栏的投诉区域。这些约束必须来自一些仅与 IPAD 相关的默认设置。有谁知道我需要在这里做什么才能在 IPAD 上解决这个问题?为什么地狱是与我从未设置的东西相关的默认约束。我只设置了sourceView。
swift - Swift - Popover 控制器根据加载时间显示在错误的角落
我最近开始遇到一个问题,弹出框控制器有时会出现在错误的角落。当它正常工作时,弹出源是右上角的一个按钮。这是大多数时候发生的事情。现在,当我从特定路线“过快”登陆此页面时,弹出框会显示在左上角。
另一件奇怪的事情是,当加载被人为延迟时(比如我为调试设置断点时),弹出框会正确显示。
由于这似乎是一个时间问题,我尝试将导航配置从 viewDidLoad 移动到 viewDidAppear,但这不起作用。
这个函数是从 viewDidLoad 调用的:
ios - Catalyst 中弹出框的水平尺寸等级?
如果我在 iPad 上将视图控制器显示为弹出框(通过将其设置modalPresentationStyle
为.popover
),它会将其水平尺寸类报告为.compact
. 但是,如果我在 Catalyst 应用程序中运行相同的代码,弹出窗口中的视图控制器会报告水平大小类为.regular
. 紧凑是我所期望的。overrideTraitCollection
在我展示视图控制器之前设置popoverPresentationController
它可以使大小类在 iPad 上正常化,但不会使其在 Catalyst 上变得紧凑。
如何使弹出窗口中的视图控制器正确报告 Catalyst 中的紧凑水平尺寸类?