问题标签 [presentviewcontroller]

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 投票
1 回答
2313 浏览

ios - iOS 状态恢复和 UINavigationController 模态视图

我正在尝试将状态恢复合并到我的应用程序中。我让它在大多数情况下都可以正常工作,但是在另一个导航控制器之上为模态视图呈现导航控制器似乎具有挑战性。

为了测试,我在 iPad 上创建了一个新的拆分视图应用程序,拆分视图的两侧都有导航控制器,每一侧都有一个主视图控制器和一个详细视图控制器,它们是各自导航控制器的根。在主视图中,您可以单击按钮以编程方式将新的 TestViewController 推送到 navController 堆栈上。我在情节提要中连接了 splitView,为所有内容添加了 restoreID,选择加入委托,提供恢复类并遵守 TestViewController 的 UIViewControllerRestoration 协议(因为它是通过编程方式创建的)并且一切正常。如果我关闭应用程序并反驳它,它将启动推送到主导航控制器的 TestViewController。到现在为止还挺好。

然后我更改按钮处理程序以在新的 UINavigationController 中显示 TestViewController,将其显示到主导航控制器上,以显示模式视图(而不是将其推送到导航堆栈上)。现在,当我重新启动应用程序时,那里不再有模式视图。TestModalViewController 的 viewControllerWithRestorationIdentifierPath:coder: 实际上像以前一样被正确调用,但由于某种原因从未显示模态视图。

这是我正在谈论的代码

MasterViewController.h:

TestModalViewController.m:

也许为模态显示而创建的 UINavigationController 永远不会保留?不知道为什么,因为它确实有一个 restoreIdentifier。

编辑:

经过进一步测试,事实证明,如果我从 pushButton: 代码中删除 UINavigationController,并直接呈现 TestModalViewController 实例,它就会正确恢复。那么关于从另一个 UINavigationController 呈现的 UINavigationController 的一些事情?

这有效(虽然不是我真正想要的):

编辑:测试项目的附加链接:dropbox.com/sh/w8herpy2djjl1kw/vw_ZWqimgt

它基本上是 Core Data 主从模板;在 iPad 模拟器上运行它。Master中的+按钮调用TestModalVC;如果您然后按 Home 按钮,然后终止调试器并再次启动,您会看到快照包含 TestModalVC 但是当应用程序启动时,它不会恢复

0 投票
1 回答
268 浏览

ios - 呈现另一个不是父级的视图控制器

在情节提要中,我有 3 个视图控制器:firstViewControllersecondViewControllercontrollerA.

firstViewController 和 secondViewController 都有一个导航右栏项,它使用情节提要中的 segues 呈现 controllerA。

controllerA有一个带有自定义表格单元格的 tableView。在customTableCell.xib 中有一个acceptButton,用于存储数据并弹回firstViewController。只有当用户使用 popViewController 从 firstViewController 转到 controllerA 时,我才能实现这一点。

编辑:但如果用户从 secondViewController 进入 ControllerA,我将无法做到这一点,因为 popToViewController 将无法工作。我尝试使用:

编辑:我遇到了这个错误:

controllerA 和 firstViewController 之间存在委托关系。

我怎样才能正确实施呢?

编辑:这是 FirstViewController 中的委托:

如果我使用,我将成功传递数据并弹出到 firstViewController

如果我从 SecondViewController 输入 controllerA 它只会崩溃,因为我想在按下 acceptButton 后返回到 firstViewController。

0 投票
1 回答
2015 浏览

ios - 如何使用委托给 self 调用 presentViewController?

从当前的视图控制器中,我将 viewController 呈现为模型,以从用户那里获取大量文本输入。我能够做到这一点,但我不知道如何将输入的文本传递回被调用的视图控制器。

有人可以看看和评论吗?

0 投票
1 回答
514 浏览

view - 警告:试图呈现不在窗口层次结构中的 *

我试图处理这个问题太久了。请给我你的任何想法。

我通过发送本地通知从 SKScene 呈现视图控制器。[[NSNotificationCenter defaultCenter] postNotificationName:@"closeScene" object:nil];

通知在开始视图控制器中处理。

然后:

}

每次发送通知时,我都会收到警告:

任何帮助都将不胜感激。先感谢您!

0 投票
0 回答
486 浏览

ios - 我无法在 iPhone 上显示视图控制器

我正在使用下面的代码在 iPad 上展示一个视图控制器,它可以工作:

在 iPhone 上,出现黑屏。我收到以下警告:

我哪里错了?

0 投票
1 回答
2183 浏览

ios - “呈现的视图控制器总是全屏”不适用于 iOS 7 自定义转换?

苹果文档(https://developer.apple.com/library/ios/documentation/uikit/reference/UIViewController_Class/Reference/Reference.html#//apple_ref/occ/instm/UIViewController/presentViewController:animated:completion :) 说“在 iPhone 和 iPod touch 上,呈现的视图始终是全屏的。” 但在 iOS 7 中,有自定义视图控制器转换 API。已经有很多演示表明“presentedViewController”可以是我们想要的任何大小。在这种情况下,Apple 的 Doc 不是真的吗?

0 投票
1 回答
294 浏览

ios - 在 iOS 7 中,随着客户 VC 转换,是否可以在 presentViewController 之后在屏幕上制作“fromviewcontroller”?

许多应用程序具有这样的功能,用户可以下拉一个视图,然后从其下方显示另一个视图。但是第一个视图仍然在底部可见。(例如 Facebook Paper 应用程序)。

如果另一个视图来自另一个视图控制器,是否可以通过使用 iOS 7 的自定义视图控制器转换 API 来实现?

在我的测试中,可以做“展示”部分,但“解雇”部分有问题。每当我们调用dismissViewController 时,甚至在调用transitioningDelegate 方法之前,“toViewController”都会接管全屏。

有谁更熟悉这个?谢谢 !

0 投票
1 回答
181 浏览

ios - 关闭视图控制器上的 UIView 框架更改

我的项目中有UIVIewController& UITableViewContoller。我首先介绍UITableViewController操作UIButtonUIVIewController然后从 tableview 中选择数据以显示在我的 First UIVIewControllerusing ProtocolMethod 中。

这是我的UITableViewDelegate方法

但是在完成时它会改变我的UIVIew高度,其中包含 UIButton。这UIVIewUIViewController>>>>>> UIView_ UIScrollView_UIView

我如何保持我的这个 UIView 在UITableViewController呈现之前的样子;

我在StackOverFlow UIView Frame Issue上发现了类似的问题,但它是用于推送UIVIewContoller并且没有帮助。

如果我做错了什么,请纠正我,任何想法/帮助将不胜感激。

0 投票
1 回答
543 浏览

ios - 链dismissViewControllerAnimated:completion和presentViewController:animated时出错

当 modalView 出现时,网络事件会生成一个新的模态视图控制器。我正在做的是将 presentViewController:animated 链接到dismissViewControllerAnimated:completion 中,如下所示:

一切顺利:最初的模态视图控制器被关闭,网络生成的视图控制器呈现,用户可以成功关闭它。但是,当尝试呈现第三个 modalViewController 时,它失败并出现错误:

我也试过这个:

有什么建议吗?谢谢!

0 投票
2 回答
4139 浏览

objective-c - PopViewControllerAnimated 不工作。没有参考调用 VC

我有一个UITabBarViewController包含 4 个单独的 ViewControllers。每个 VC 都有一个UIBarButtonItem可以NavigationBar带你到一个“postPage”。您可以使用此代码进入帖子页面,该代码显示嵌入的NavigationController

然后在 中PostViewController.m,我有一个在用户单击名为“Back”IBAction时触发的事件:UIBarButtonItem

这不起作用.. 请记住,一旦您到达帖子页面,调用的 VC 就不会被记住。我如何遍历回原来的调用ViewController?(如何引用调用者,popViewControllerAnimated: 有必要吗?)