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

ios - 显示模式后 UITableView 的 contentSize 错误

我的一个桌面视图让我发疯。

我有一个滚动视图,里面有 3 个表格视图。
但由于一个奇怪的原因,我的控制器无法计算contentSize.height其中一个 tableView 的值。

我已经放置了 3 个断点来记录它的contentSize.height.

  • viewDidLoad, contentSize.height= 0px (正常不是吗?)

  • viewDidAppear:, contentSize 高度 = 26px 。此时,我没有要显示的数据,我正在后台检索一些数据,并tableView:numberOfRowsInSection:为此 tableview 返回 0(每个 tableView 只有 1 个部分)

  • 收到我的数据并reloadData在我的 tableView 上执行后,contentSize height = 986 (header 26px + 24 rows * 40px)

直到这里,一切看起来都很正常。

现在,从我的视图控制器中,我正在显示另一个视图控制器:presentViewController:animated:completion:

当我回到我最初的视图控制器时,我保留了我以前的数据。tableView:numberOfRowsInSection:返回我 24 行,但contentSize.heighttableview 是 26px。当我尝试滚动它时,我的表格只是弹跳,但我的数据显示在表格中。

此问题仅出现在 iOS 6中,而不出现在 iOS 7 中。

有什么想法可以解决这个问题吗?

编辑

我使我的计时器无效-(void)viewDidDisappear:(BOOL)animated

0 投票
2 回答
462 浏览

ios7 - 呈现的 ViewController 会忽略 UIView 动画

我有一个简单的动画,可以反复上下移动幻灯片。这是代码:

这很简单,效果很好;但是,当我呈现视图时(self presentViewController:animated:),动画不会发生。

事实上,滑块会立即移动到较低的位置(好像它只调用了一次动画并将其向下移动,但没有向上移动)。

我也试过这个:

这将使滑块保持在其原始位置而不是向下移动一次,并且动画仍然不会发生。

知道我缺少什么吗?谢谢!

0 投票
1 回答
5098 浏览

ios - 带有标签栏的 presentViewController

我有一个应用程序,它有一个标签栏,大多数ViewControllers. 问题是它没有显示在viewController我通过这段代码呈现的内容中。

我使用的是presentViewController而不是pushViewcontroller,因为我想navigationBar在此视图中自定义 。

我如何展示我使用创建的标准标签栏storyboard

0 投票
0 回答
411 浏览

ios - 标签栏在其视图控制器之一调用后没有响应:presentViewController 和dismissViewController

我正在过渡到 iOS7 并遇到我的标签栏变得无响应的问题(点击标签没有做任何事情)。问题出现在标签栏控制器的视图控制器之一,调用presentViewController,然后再调用dismissViewController之后。然后选项卡变得无响应但在屏幕上可见。

详情: appdelegate有一个通过XIB配置的uitabbarcontroller,然后调用[self.window setRootViewController:tabBarController];在 didFinishLaunchingWithOptions

好的,此时一切都很好,我有一个带有 4 个视图控制器的选项卡栏,我可以通过单击选项卡在它们之间切换。

添加子导航: 其中一个选项卡有一个表格视图,当我单击那里的一行时,该视图控制器(显示表格)使用:[self presentViewController:subNav animated:NO completion:nil] 呈现一个 UINavigationController;

所以这也很好,新的导航控制器按照它应该的方式覆盖了选项卡,我在上面推送了其他视图控制器。

问题: 稍后我调用 [self dismissViewControllerAnimated:NO completion:nil]; (我已经尝试在子导航显示的视图控制器之一中调用它,以及通过对首先调用 presentViewController 的视图控制器的引用)。目的是回到显示选项卡的原始视图。

这行得通,子导航消失并且选项卡视图与视图控制器一起可见,视图控制器显示了单击其行的表,但现在底部的选项卡都没有响应单击。

所以我不知道这是什么原因。我在 iOS6 版本中没有这个问题,但我使用的是 presentModalViewController。帮助。

更新:解决(有点) 好的,所以我的标签再次工作,但不确定之前发生了什么。所以在非工作代码中,我这样做是为了回到我的选项卡和原始视图控制器(选项卡之一):

所以这是获取第一个视图控制器的引用然后在其上调用“dismissNav”方法然后调用dismissViewControllerAnimated 的一种非常老套的方法。所以这些都不需要,因为我可以从“底部”视图控制器调用dismissViewContrllerAnimated。

在“底部”视图控制器中将上面的代码替换为:

现在选项卡在再次显示时起作用。

0 投票
1 回答
224 浏览

ios - 显示来自 UITabBar 的视图

我正在尝试在按下apicker时创建一个类型的东西。如果您查看 tumblrs iphone 应用程序,您就会明白我的意思。我假设他们正在展示用户当前使用的任何内容。我该怎么做?buttonUITabBarUIViewviewcontroller

在此处输入图像描述

0 投票
3 回答
1556 浏览

ios - 尝试关闭视图控制器时的警告(模态中的模态)

当我的 iOS 应用程序第一次启动时,我会自动打开一个“欢迎”模式,如下所示:

在该模式中,指示用户将应用程序链接到 Dropbox。他们点击一个按钮来触发这个:

这是一个 Dropbox SDK 方法,它在另一个模式中打开 Dropbox 身份验证 UIWebView,如下所示:http ://d.pr/i/6ZnC

一旦他们登录,模式会自动关闭动画。

然后我尝试用这个关闭原始的介绍模式:

但是我收到了这个警告并且模态没有关闭

警告:在演示或关闭过程中尝试从视图控制器 <PPIntroViewController: 0xf296ab0> 关闭!

这是我尝试过的:

  1. 我在让 Dropbox 模式关闭之前dismissViewControllerAnimated进行了人为延迟,但这无济于事:[NSThread sleepForTimeInterval:2.0];
  2. 我试过关闭动画:[self dismissViewControllerAnimated:NO completion:nil];这也无济于事。
  3. 我已经尝试检查已经在进行中的模态解雇:if(![self isBeingDismissed]){ ... }但没有运气。

有任何想法吗?我怎样才能确定究竟是什么呈现/关闭并阻止模态关闭?

iOS 7 + Xcode 5

0 投票
1 回答
1437 浏览

ios - 在关闭另一个模式视图控制器后呈现一个模式视图控制器

在用户从他们的照片库中选择一张图片后,我想关闭 imagePickerVierController 并呈现另一个,但得到错误:

警告:在演示或关闭过程中尝试从视图控制器中关闭!

我努力了:

它工作正常,所以显然完成块不能正常工作。

0 投票
2 回答
48 浏览

ios - 单击按钮会显示视图。一旦我单击按钮,视图就会向左移动

在此处输入图像描述在我的项目中,我有一个显示视图控制器的按钮(transitionStyle 是coverVertical,modalPresentationStyle 是FormSheet)。我希望视图应该显示在中心,但是在单击按钮时,视图会在左侧打开,然后当键盘被放下时,它会在中心移动。谁能告诉我为什么?我用过 viewController.view.superview.center = self.view.center;

查看我在单击按钮时放入的 presentingViewController 代码。

0 投票
3 回答
13938 浏览

ios - iOS - 在关闭其他视图控制器后立即呈现视图控制器

我有三个视图控制器 VC1、VC2 和 VC3。

VC2 属于第 3 方库,在 VC1 上提供。

然后 VC2 自行解散并向 VC1 发送回调,VC1 尝试在自身上呈现 VC3 但失败了。

有没有办法在解雇 VC2 后立即呈现 VC3 ?

不幸的是,我无法^completion在 VC2 中使用解除呈现的视图控制器的块,因为我只是收到对此方法的回调并且无法编辑 VC2 的代码。

0 投票
2 回答
1083 浏览

ios - 呈现一个 ViewController 会破坏之前的 ViewController

我的问题是,当我呈现一个UIViewController呈现视图时,呈现黑色。

我有一个UIViewController命名mainViewController,它是我的窗口的根视图。在里面我有一个MMDrawerController(刚刚添加为 mainViewController 视图的子视图)。

MMDrawerController包含我的其余观点。

但是,当我展示UIViewControllermainViewController的新 VC 时,新的 VC 显示得很好,但是当它关​​闭时,它只留下黑屏。注意添加时出现黑屏(我可以直接看到)。解雇时不会。

出于测试目的,我做了以下代码:

与正常使用相同的黑色结果。(通常是QLViewController...)

我的 mainViewController 设置如下:

MMDrawerController 的源代码在我的项目中是最新的