相关疑难解决方法(0)

全屏显示iOS 13中的模态

在iOS 13 Beta 1中,出现模态视图控制器时有新行为。现在默认情况下它不是全屏显示,当我尝试向下滑动时,该应用程序会自动关闭View Controller。

如何防止这种行为并回到旧的好全屏模式vc?

情态行为

谢谢

viewcontroller modalviewcontroller ios ios13

280
推荐指数
20
解决办法
7万
查看次数

如何在iOS 9中检测弹出窗口何时被解除

我正在更新应用程序以使用通用故事板.我已经使用界面构建器创建了一个popover segue到一个新的viewcontroller,方法是从一个按钮拖动到我的新viewcontroller并选择'Present As Popover'作为segue的类型.

当用户按下弹出窗口(解除它)时,我需要在呈现视图控制器中得到通知,以便我可以撤消他们的操作.我怎样才能做到这一点?

通常我会手动创建popover并使我的viewcontroller成为popover的委托; 允许我使用popoverControllerDidDismissPopover委托回调.但是,这在iOS9中已被弃用,即使不是我也不知道在哪里找到popover所以我可以将其委托设置为我的视图控制器.

ios uipopover uistoryboardsegue universal-storyboard ios9

11
推荐指数
2
解决办法
5457
查看次数

统一的UIViewController“成为最前端”检测?

在我看来,这些情况都是平行的:

  • 我的视图控制器呈现了另一个全屏视图控制器,现在已将其关闭

  • 我的视图控制器显示了另一个不是全屏的视图控制器,现在已将其关闭

  • 我的视图控制器显示了一个弹出窗口,现在已将其关闭

  • 我的视图控制器推送了另一个视图控制器,该视图控制器现在已弹出

在每种情况下,我的视图控制器都不再是“最前端”的视图控制器,然后再次变为“最前端”。我很好奇iOS没有向我的视图控制器发送涵盖所有这些情况的单一毯子“成为最前面”事件。

我想我可以互相覆盖的那些情况下独立了,我觉得这些都是我需要覆盖的情况下,但由此产生的代码混乱和分散:

  • viewDidAppear 检测推送视图控制器的弹出和全屏显示视图控制器的关闭

  • popover委托消息检测对popover的解雇

  • 不确定是什么原因导致非全屏显示视图控制器被解雇

人们如何连贯而优雅地处理这一问题?

cocoa-touch uiviewcontroller ios

11
推荐指数
1
解决办法
594
查看次数

iOS 13 viewWillAppear 没有被调用

当使用 XCode 11 beta 构建项目时,我在 iOS 13 beta 6 上看到了一个奇怪的行为。在全屏呈现视图控制器(在 Storyboard 中指定的动画样式“Show”)并关闭后,不会调用呈现视图控制器上的 viewWillAppear。行为有变化吗?

编辑:重复问题中提到的覆盖presentationControllerDidDismiss(_:) 的解决方法对我没有帮助。在关闭通过 Segue 呈现的视图控制器时,它甚至不会被调用。

uiviewcontroller uikit ios swift ios13

7
推荐指数
0
解决办法
2614
查看次数

popoverPresentationControllerDidDismissPopover 的替代方法?

我刚刚发现该popoverPresentationControllerDidDismissPopover方法已被弃用。什么是替代方法?

ios swift

6
推荐指数
2
解决办法
1131
查看次数

使用 Objective C 检测 imagePickerController 是否通过向下滑动手势关闭

我试图检测通过滑动的 imagePickerController 何时通过向下滑动手势或通过取消关闭。

imagePicker 通过此方法加载(https://developer.apple.com/documentation/uikit/uiviewcontroller/1621380-presentviewcontroller

[rootViewController presentViewController:picker animated:animated completion:NULL];
Run Code Online (Sandbox Code Playgroud)

我们可以通过实现此方法简单地检测 pickerController 是否通过取消关闭(https://developer.apple.com/documentation/uikit/uiimagepickercontrollerdelegate/1619133-imagepickercontrollerdidcancel

但是,我还想检测它是否通过向下滑动关闭(对于 iPhone X,...,我们可以向下滑动以关闭以模式方式显示的视图)

使用 Swift,我可以用以下代码检测它:

extension UIImagePickerController {
    open override func viewDidDisappear(_ animated: Bool) {
        super.viewDidDisappear(animated)
        // detecting
    }
}

Run Code Online (Sandbox Code Playgroud)

我想知道在 Objective C 中是否有等效的方法(因为我正在从事的项目是用 Objective C 编写的)?或欢迎任何其他建议:D

objective-c uiimagepickercontroller ios

0
推荐指数
1
解决办法
2025
查看次数