问题标签 [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.
ios - 自定义 UIModalPresentationStyle.custom:为什么会调用 presentationController(forPresented 而不是 animationController(forPresented?
我正在使用UIModalPresentationStyle.custom
.
在我UIViewControllerTransitioningDelegate
为什么会调用此方法:
但是这些函数都没有被调用:
ios - UIPresentation 控制器 - 从后台返回后布局出错
我已经实现了从 ViewController A(嵌入在 UINavigationController 中)到 ViewController B 的自定义转换。
过渡从底部“滑动”VC B,直到它占用垂直屏幕大小的 1/2 - 使用自定义UIViewControllerAnimatedTransitioning
对象。自定义演示文稿还会移动演示文稿 VC A,因此它使用animateAlongsideTransition(in:animation:compeltion)
call in presentationWillBegin()
override 的 custom与传入的 VC B 一起向上滑动UIPresentationContorller
。考虑分屏,显示 VC 的下 1/2 在顶部,显示的 VC 在底部。
除了我似乎无法解决的一个烦人的情况外,一切都按预期工作:
- VC A 有一些子视图(按钮),这些子视图(按钮)被限制(界面构建器中的自动布局)到 VC A 的顶部布局指南(同样,VC A 在 NavC 中)。
- 当我呈现模态视图 (B) 时,这些子视图作为过渡的一部分被向上推(很棒),当 VC B 被关闭时(很棒)又被向下推。
- 但是,当 VC B 出现时,应用程序被置于后台,然后回到前台,VC A 的子视图显示在屏幕顶部 - 即在 VC A 的视图中间而不是顶部(坏)。当 VC B 被解散时,他们停留在中间(坏的)——只有通过离开 VC A 并返回来启动完整的 VC“重绘”才能解决问题。
我知道问题出在回到前台时重新校准顶部布局指南,但在显示视图之前无法弄清楚如何修复它。
一种方法是将子视图的约束设置为“超级视图顶部”而不是“顶部布局指南”,但这会超越自动布局作为 NavC 的一部分。
- 在这种情况下,VC A
viewWillAppear/viewWillDisappear
永远不会被调用(因为 VC A 的观点从未被完全驳回)。 containerViewWillLayoutSubviews/containerViewDidLayoutSubviews
UIPresentationController
在这种情况下也没有调用的自定义
任何想法都非常感谢。
iOS 10,Xcode 8.3
ios - 试图模仿 Mail.app 撰写动画,使图层保持在视图中
我已经尝试了一段时间,但我无法弄清楚如何创建一个撰写动画,iOS 10+
当您可以将新撰写的电子邮件向下拖动时,它会停留在底部并且应用程序的其余部分可以正常访问,然后当您点击它,它会重新显示。
我创建了一个示例项目,其中我有一个UIViewController
展示另一个UIViewController
其中有一个触发状态分析器UIPanGestureRecognizer
的示例项目。UINavigationController
pangesture
我确实可以拖动以将其关闭,但我找不到保持框架的方法。
Bellow有一个我正在尝试完成的打印屏幕,然后是我使用的代码到我被困在的地方。
UIViewController
那是presentingViewController
类
UIViewController
2 那是presentedViewController
这是一个包含自定义演示文稿的 Helper 文件:
这种期望的效果也可以在其他应用程序中看到,例如Music app
,Stack Exchange/Overflow iOS App
有没有人暗示如何做到这一点?我觉得我真的很接近实现它,但我找不到一种方法来保持dismissed
屏幕上的图层。
上面的项目可以在这里找到
非常感谢。问候。
swift - 了解 crashlytics UIKit 错误
我无法理解收到的 UIKit 崩溃报告:
有没有办法找出是哪一行代码导致了这种情况:
错误本身是:
崩溃:com.apple.main-thread
编辑:
根据下面的答案,我想知道是否建议使用:
并且总是打电话
在我的应用程序中我目前有 self.dismiss(animated: true, completion: nil) 的任何地方?
这是必要的检查还是我如何确定 self.dismiss 有问题的地方?
一些示例解雇:
其中 displayActivityAlertWithCompletion2 看起来像:
编辑 2:
我的应用程序中的一些示例弹出框方法:
并搜索弹出:
ios - UIPresentationController In-call status bar issue
I have a screen where I need to present a UIViewController
with custom animation, so I'm using UIPresentationController
for a custom presentation.
Everything works fine until the user gets a call, the In-call status bar shifts the UITranstionView
by 20 pixels, which I'm supposed to reset to zero after the call gets disconnected.
I want to know if there is any way to handle this using UIViewControllerAnimatedTransitioning
, UIViewControllerTransitioningDelegate
.
Or any other way to fix this.
Update
func animateTransition(using transitionContext:
ios - 平移手势一开始,交互式滑动菜单就完成[Swift]
我正在尝试实现一个滑动菜单,该菜单可以通过水平平移以交互方式解除,与 Uber 和 Google 应用程序中的菜单相同。一切都按预期进行,只是一旦我开始水平平移,就会在不跟随我的手指的情况下完成关闭。非常感谢任何有关问题所在的建议。
我进行了子类UIPresentationController
化以定义我的菜单控制器的呈现宽度。我有自定义演示文稿动画师和解雇动画师,以及UIViewControllerTransitioningDelegate
将它们全部返回到UIKit
. 我还在gestureRecognizerShouldBegin(_ gestureRecognizer:)
我的菜单控制器中实现了允许垂直滚动的方法。
SlideDismissAnimator
滑动交互控制器
菜单控制器
ios - UIPresentationController 崩溃只是指向 AppDelegate
截图:
我遇到了很多这样的崩溃,但问题是我只是被指向我的 appDelegate 第一行。我不知道在哪里寻找问题。我可以从以下崩溃报告中开始调查的任何想法?
更新:
基于以下几点:
应用程序在 runTransitionForCurrentState 上崩溃,但不知道原因
我正在寻找潜在的原因,并且想知道以下代码。
在进行同步过程时,我有以下函数用于显示带有活动指示器的视图。
然后我像这样使用这个函数:
这会是 UIKit 问题的潜在原因吗?
uiviewcontroller - 将自动布局与 UIPresentationController 一起使用
我正在创建子类UIPresentationController
以创建弹出窗口的自定义演示/过渡UIViewController
。弹出视图本身应该被限制在呈现视图控制器的框架中。我可以通过手动框架计算来做到这一点,但在我看来,这将非常乏味且容易出错。
查看 APIUIPresentationController
看起来它强烈地强制使用CGSize
's 和CGRect
's 并坚持让你混合和匹配 '准自动布局' 方法systemlayoutSizeFitting
和其他方法,完全令人困惑。我不知道需要覆盖哪些方法,何时存在视图,何时添加它们,哪些覆盖返回值优先于其他返回值。它基本上是一场噩梦。
如果有的话,在这个 API 中使用传统的基于约束的布局的最简单方法是什么?
ios - 如何阻止呈现的视图控制器被解雇
我以编程方式呈现视图控制器,但是当设备旋转时,它会自动关闭。
我不知道为什么会发生,我该如何解决
这是代码
我将代码保存在 appdelegate
任何解决此问题的帮助表示赞赏
ios - iOS:演示控制器帧大小随设备方向变化
如何在设备方向更改时保持演示控制器高度相同。下面是代码: