问题标签 [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 - `UIViewController.present` 完成处理程序被立即调用
我正在使用 Xcode 10 Beta 6,所以这可能只是一个错误。
我正在尝试将视图控制器 ( colorPickerController
) 呈现为弹出框。在该视图控制器中,我将能够设置一些属性,一旦弹出框被解除,我想读取这些属性。
这是代码:
在第 93...97 行中,我定义了一个完成处理程序。
在第 99 行,我介绍了colorPickerController
模态,包括完成处理程序。
运行代码时,颜色选择器控制器已成功显示在弹出窗口中。但是当我在弹出框之外点击(将其关闭)时,没有调用回调。
我想也许 aUIPopoverPresentationController
不会“正常”关闭,所以我尝试手动关闭弹出框,然后它自己会这样做,方法是调用dismiss
(popoverPresentationControllerShouldDismissPopover
第 110 行)。
现在这仍然不起作用,所以我设置了一个如图所示的断点,以检查是否甚至调用了委托方法。
那时我注意到,在运行应用程序时,完成处理程序在弹出窗口出现时被调用,而不是在它关闭时被调用。我什至在到达断点之前
就登录了控制台。Completion handler was called.
这怎么可能?
ios - 当弹出窗口在屏幕上时,UIBarButtonItem 未脱色/禁用
UIBarButtonItems
我的导航控制器上有两个:
当点击infoItem
我做:
然后调用UIPopoverPresentationControllerDelegate
函数:
即使我设置passthroughViews
为nil
两次,UISegmentedControl
当弹出框出现在屏幕上时,它也不会脱色并且仍然可以点击。
如果显示任何其他弹出框,则UISegmentedControl
行为正常:已脱色且不可点击。
我在这里想念什么?
ios - 如何在 Swift 中为视图集合中的每个单元格添加弹出框
我用文字写了一个应用程序(一种游戏)。所以,我有 WordsVC CollectionView
(每个单元格都是一个单词)。当长按单词(单元格)时,我想在单元格旁边显示带有翻译的弹出框。
但我无法将 segue 添加到单元格(Xcode 给我一个错误,有点“无法编译”)。所以,我从 TraslationVC CollectionView
(popover) 开始。这就是问题,因为弹出窗口会在视图集合的左上角弹出(我需要在点击的单元格旁边)。
通过搜索,我无法很好地回答。我能做些什么来实现它?
这是一些代码:
WordsVC 中的 segue 准备:
在 WordsVC 中设置非模态样式:
Segueing(来自 WordsVC):
并在 TranslatingVC 中设置弹出框的大小:
这个怎么做?
ios - AdaptivePresentationStyle 不触发紧凑型(iPhone)设备上的 UIPopoverPresentationControllerDelegate
我试图将一个显示UIViewController
为另一个弹出窗口。为此,我建立了以下...
但是,新的 VC 在紧凑型设备上始终显示为全屏模式演示,而不是实际的弹出框。根据我在这里和这里阅读的内容,这是正常行为,但应该可以通过委托进行定制。
我已将呈现的 VC 声明为 implementation UIPopoverPresentationControllerDelegate
,将其设置为委托,并实现所需的方法;但是,委托方法永远不会被调用。这意味着无论如何,“弹出框”仍然以模态显示。
任何的建议都受欢迎。
其他一些标注:
- 如果在它之前添加了一个标记,
viewControllerForAdaptivePresentationStyle
它会被调用@objc
,但这对其他人不起作用。 - Xcode 对每一个都给出警告:Instance method ... 几乎符合协议 'UIAdaptivePresentationControllerDelegate' 的可选要求... 但是,方法签名是 100% 匹配的。不确定这是否是这个 bug的一个实例,有人说它仍然存在于 Xcode 10.1 中。
谢谢。
实现的委托功能:
ios - 用于 iPad 的 UIViewController modalPresentationStyle 弹出框和用于 iPhone 的自定义
我使用创建了一个自定义演示文稿,UIPresentationController
但我只想将此演示文稿用于水平紧凑布局,并且我想用弹出框替换我的自定义演示文稿以进行水平常规布局,并且当水平特征集合在紧凑和常规之间更新时,我想要我的演示文稿样式在两者之间更新。
在UIPresentationController
课堂上adaptivePresentationStyle: UIModalPresentationStyle
,据我所知,它被用作水平紧凑布局的演示风格。我可以返回custom
,但我不确定如何使用我的另一个UIPresentationController
和设置UIViewControllerTransitioningDelegate