问题标签 [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 投票
11 回答
59835 浏览

ios - 使用表单演示文稿加载的模态视图的自定义大小

我正在尝试通过表单演示在 iPad 中加载 UIViewController。问题是这个新视图的大小,我将大小值放在 IBuilder 中,但模态视图采用固定值。

我也尝试像这样在 prepareForSegue 中进行此操作:

但是不工作,有什么帮助吗?谢谢!

0 投票
1 回答
456 浏览

ios - 使用自定义视图控制器转换,我在哪里可以隐藏状态栏?

示例项目: http ://cl.ly/1C0N0E0f3n2P

我正在尝试在 iOS 8 中创建到视图控制器的自定义转换。我正在使用一个UIPresentationController以及一个NSObject实现的子类UIViewControllerAnimatedTransitioning,基本上遵循本教程

当视图控制器出现时,我也想隐藏状态栏,但我不知道在这个范例中我要在哪里执行此操作。

每当我尝试调用子类presentingViewController中的方法UIPresentationController或使用子类中的键时NSObject,我总是会崩溃,让我相信我不应该在这些上调用方法?

示例中的示例:

那么我到底在哪里隐藏状态栏呢?我不想在调用的同时调用它presentViewController,因为每次出现时我都想隐藏状态栏,因此为了 DRY 原则,它应该包含在动画本身中。

0 投票
1 回答
1864 浏览

swift - iOS 8:在紧凑模式下将具有模糊效果的 UIVisualEffectView 应用于模态弹出框

我正在尝试制作一个类似于 2014 年 WWDC 会议 214 中的弹出框。

所以我开始使用 IB 构建我的应用程序,其中两个视图通过“Present As Popover”segue 连接,如下所示:

在此处输入图像描述 弹出视图包含一个填充其父视图的文本视图,具有以下约束: 在此处输入图像描述

为了支持模态弹出框,下面的代码:

这给了我以下结果: 在此处输入图像描述

然后我尝试添加具有模糊效果的 UIVisualEffectView。起初我只是简单地向呈现的控制器视图添加一个子视图,在检查视图层次结构后,我意识到我的效果视图实际上是在我的文本视图之上,但我的文本视图放置正确。所以我尝试了这样的 insertSubview: atIndex: 方法:

但我仍然无法呈现 IB 中定义的文本视图: 在此处输入图像描述

通过视图层次结构,我可以看到当我在索引 0 处插入 UIVisualEffectView 时,我的文本视图以某种方式移动到导航栏下方。

关于如何以编程方式在文本下方设置模糊效果而不使其在导航栏下方消失/移动的任何想法?

干杯

0 投票
1 回答
2357 浏览

ios - 使用自定义 UIPresentationController 子类呈现视图控制器时的神秘崩溃

UIViewController尝试使用自定义子类进行自定义演示时,我在 iOS 8.1(设备和模拟器)上遇到了崩溃UIPresentationController

引发的异常将以下内容打印到控制台:

这是我发泄的地方UIPresentationController

0 投票
0 回答
1277 浏览

ios - 使用 uipresentationController 进行自定义演示的问题

我正在使用 UIPresentationController 进行菜单的自定义模式演示在此处输入图像描述

这部分很好,假设我点击了“反馈”,我在上面展示了另一个控制器。

问题是在关闭反馈控制器后,菜单视图的大小变满了在此处输入图像描述

我的演示控制器类在下面

请告诉我我错过了什么

提前致谢

0 投票
1 回答
1354 浏览

ios - 在 iOS8 中,transitionCoordinator 为自定义容器视图控制器返回 nil

transitionCoordinator在子 vc 上引用时,它曾经在 iOS7 中调用transitionCoordinator自定义容器类,但在 iOS8 中并非如此。现在它返回 nil,我不知道我应该改变什么来完成这项工作。

我猜它是关于 iOS8 中引入的 UIPresentationController,但找不到自定义容器视图控制器的正确实现。

0 投票
4 回答
2339 浏览

ios - 我可以让 UIPresentationController 在 PresentingViewController 上有 userInteractionEnabled 吗?

我正在为 iPhone 和 iPad 的通用应用程序构建自定义 GUI。在 iPad 上,它严重依赖“sideViews”来实现内容操作、detailInformation 等实用程序(想想高级的 SplitView)。从视觉的角度来看,新的 UIPresentationController 可以让我展示这些“sideViews”(而不是使用 dimmedView),并且实现很容易构建和维护,同时仍然很好地与故事板集成。但是我需要能够在presentingViewController 可见时操作presentingViewController 的内容。所以我的问题是,我可以在呈现侧视图时在presentingViewController 上设置userInteractionEnabled(或类似的)吗?

0 投票
0 回答
357 浏览

uiviewcontroller - 有没有办法将新的 UIPresentationController 与推送/弹出转换一起使用,而不仅仅是模式?

似乎我读过的所有文档都提到使用UIPresentationController带有模态演示的新文档,但没有一个提到UINavigationController基于 -based 的 push/pop 转换。这些在 iOS 8 中是否可行,如果可以,我该如何展示它们?

0 投票
2 回答
2935 浏览

ios - 通过 UIPresentationController 子类呈现视图控制器时导航栏跳转

我正在构建一个 iOS 8 应用程序并使用 UIPresentationController 以自定义方式呈现视图控制器。(请参阅我之前的问题:复制 iOS 邮件应用程序的撰写功能的样式)。

我遇到的问题是,当我展示控制器时,导航栏开始时为 64 点高,然后在其展示完成后跳转/收缩回 44。我的猜测是视图控制器意识到它没有覆盖状态栏,因此一旦到达最终的静止位置,它就会收缩自己。我希望导航栏始终保持 44 点高而不是跳跃/收缩。

下图是演示结束时视图控制器的样子。这也是我希望它一直看起来的样子。关于如何将导航栏始终保持在 44 点的任何想法?

在此处输入图像描述

更新(2015 年 3 月 24 日):

我参考了不久前的一篇博客文章,以找到有关此问题的更多信息。基本上,UINavigationController 将其导航栏绘制为 64 或 44 点高,具体取决于其视图的框架是否与应用程序的窗口匹配。所以我需要某种方式告诉导航控制器它的最终静止位置不会与窗口对齐,并且导航栏应该被绘制为 44 点高。

http://blog.jaredsinclair.com/post/61507315630/wrestling-with-status-bars-and-navigation-bars-on

0 投票
1 回答
3115 浏览

ios8 - 是否可以强制 UIPopoverPresentationController 重新定位弹出框而不是调整其大小?

我正在使用带有情节提要的自动布局。我从一个单元格矩形中呈现一个 popoverPresentationController:

弹出框以纵向模式显示在 iPad 上,箭头向上。

我将 iPad 旋转到横向模式。popoverPresentationController 保持相同的 sourceView/sourceRect 并正确指向单元格。它还保留向上箭头。

但它现在位于视图的底部,因此弹出框调整为较短的高度。这不是期望的行为。

如果弹出框只是移动到新位置并更改箭头方向,则根本不需要调整大小。这是期望的行为。

我认为以下方法可能允许我进行更改,但由于 sourceView rect 没有更改,因此不会调用它:

我试图重置 allowedArrowDirections(在preferredContentSize 中,因为这似乎是最合乎逻辑的地方)。这不起作用(弹出框仍然调整大小):

我根本找不到强制 popoverPresentationController 更改箭头方向并重新定位弹出框而不是调整弹出框大小的方法。我开始认为这甚至是不可能的——但我仍然希望我只是错过了一些东西。

编辑:与此同时,我想到如果我不想在 iPad 中调整它的大小,弹出框可能不是呈现此视图的最佳方式。我将尝试使用 UIModalPresentationFormSheet 演示文稿。但我仍然想找到这个问题的答案。