问题标签 [uipresentationcontroller]

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.

0 投票
2 回答
85 浏览

ios - 当呈现的视图控制器被关闭时,iOS 在父视图控制器中得到通知

我有一个视图控制器,它呈现另一个视图控制器,并且在呈现的视图控制器中,用户做出选择,这将导致许多其他通知被推送,但是当我们关闭演示视图控制器时,我希望原始父视图控制器得到通知,因为 viewwillappear 没有触发.

0 投票
0 回答
50 浏览

ios - 从 UIPanGesture 推送 UIViewcontroller

我试图通过在屏幕上平移它来从右侧推送一个 UIViewcontroller,它与屏幕上的 UIPanGesture 成比例。

另一种说法是我想将我的 UIViewcontoller 推送到导航堆栈上,就像我可以通过拖动/平移从导航堆栈中解除 UIViewcontroller 一样。

我有一些想法,但必须有一个适当的方法来解决这个问题。

有人可以将我推向正确的方向吗?

0 投票
1 回答
75 浏览

ios - Swift:使用多个 UIPresentationController

我有一个使用自定义演示控制器的卡片的模式演示,效果很好。我现在需要为另一个弹出窗口使用演示控制器,但困难在于它需要有所不同。我在试图克服这个问题时遇到了多个问题。

第一个问题:我的视图控制器显然不能有两个相同的扩展,这意味着据我所知我只能引用一个 UIPresentationController 文件。但是,理想情况下,我需要第二个 UIPresentationController 来管理第二个 Presentation。

第二个问题:由于我不能有第二个扩展,我尝试在扩展中使用 if 语句,如下所示:

那行不通,我猜是因为我无法更改扩展名的语法。错误是缺少回报。

第三个问题:我的最后一个想法是使用用户默认键来保存状态,然后检查我的 UIPresentationController 中每个函数的状态。例如,我会设置defaults.set("showTripOverview", forKey: "presentationStyle")然后将我的 UIPResentationController 函数拆分为两部分,如果presentationStyle 为“ShowTripOverview”,则另一部分为“ShowTripOverview”,否则为另一部分。这个想法运行良好,代码编译并且它似乎工作。但是没过多久,我注意到我在主 ViewController 中设置的所有默认值(必须在调用 UIPresentationController 之前运行!!)都设置为 nil。所以我所有的 if 调用都直接转到 else,这不是我想要的......

谁能向我解释如何解决这三个问题之一?我只需要能够以某种方式使用第二个 UIPresentationController 来调整动画等。对于第二个演示文稿。我不认为这是一件奇怪的事情,因为许多应用程序使用不同的方式来呈现事物。虽然在网上找不到任何东西......

0 投票
0 回答
49 浏览

ios - UISheetPresentationController 不工作

我试图添加 UISheetPresentationController 但它给出了错误。请帮我解决这个问题。谢谢在此处输入图像描述

0 投票
0 回答
10 浏览

ios - 使用自定义演示控制器时,如何在展开转场期间为多个演示视图控制器的视图设置动画?

在 iOS 13 中,Apple 引入了底部表单演示控制器,其演示和关闭的一部分也是为演示视图控制器的视图设置动画。

我在学习自定义视图控制器演示的同时尝试重新创建它,并通过使用顶部视图控制器的转换协调器的animate(alongsideTransition:completion)方法(下面的代码)并在该块中为演示视图控制器的视图更改设置动画来解决它。在 iOS 14 及更低版本中,这非常适合定期解雇和展开转场(就像这样),但是在 iOS 15 中,当使用展开转场时,根视图控制器的视图没有动画并且看起来像这样,而系统标准底部表仍然看起来在放松的时候很好是否有一些替代方法可以用来通过 unwind segue 解雇多个 VC?

0 投票
0 回答
5 浏览

ios - 纸张下方的插图内容以中等定位方式呈现

iOS 15 添加UISheetPresentationController了允许您通过将sheetPresentationController'detents 设置为[.medium()]. 然后,您可以将 设置largestUndimmedDetentIdentifier.medium允许与呈现视图控制器和工作表进行交互,这样您就可以实现类似于地图和股票的界面。

我的问题是,您如何检测何时呈现未变暗的工作表并获取其高度以便在底层屏幕中插入内容。例如,我想将内容插入添加到我的表格视图中,以便您可以滚动查看所有单元格。目前,工作表覆盖了底部单元格,因此无法与这些单元格进行交互 - 您只能点击位于工作表所在位置上方的单元格。