问题标签 [popviewcontrolleranimated]

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 投票
2 回答
1561 浏览

iphone - UINavigationController popViewControllerAnimated 问题

我有LoginViewControllerIphone实例,我在其中推送实例TasksRootViewControllerIphone

然后在TasksRootViewControllerIphone(出现后10秒)我打电话 [self.navigationController popViewControllerAnimated:YES];

并收到一个错误:

我试图打印导航控制器堆栈:

所以它有适当的视图控制器。任何想法怎么会发生?

更新:

推送代码:

在 TasksRootViewControllerIphone.m 我有:

0 投票
0 回答
555 浏览

storyboard - Xcode5 iOS7 Segues + popViewControllerAnimated = 损坏的过渡

所以我从另一个开发人员那里接手了一个应用程序,在 iOS 6 中的生活很美好。不幸的是,他们使用 Storyboard + Segues 来控制应用程序的导航,这完全是一团糟。我在 iOS7 中遇到的问题是,当用户经过几次转场并完成时,应用程序会尝试使用 popViewControllerAnimated 向后导航。

此代码导致错误:

这段代码似乎可以向后导航:

显然,我认为通过 navigationController 的 viewController 数组进行强制转换和欺骗不是一个好主意(尤其是没有自省),但为什么这只会在 iOS7 中引起问题?在Apple 的 iOS 7 Api Diffs中,我没有看到 popViewControllerAnimated 被弃用,所以我很茫然。

我什至不会提到故事板的布局有多糟糕,我会用我的周末来修复那个 PITA。

0 投票
0 回答
624 浏览

objective-c - popViewControllerAnimated 后,重新加载 TableView 问题

当它从导航堆栈中弹出 whereViewController 时,即

,在这个方法之后它会重新加载 whereViewcontroller 的 tableview。如果它运行准确,它一定不能重新加载 tableview。我不知道为什么它会这样运行。它只出现在 ios 7 上,在 iOS6 上不出现。请帮我。谢谢你。

0 投票
1 回答
1418 浏览

objective-c - UINavigationController 中的 UIViewController 不调用委托方法

在我的 Storyboard 中,我使用带有导航栏的 UINavigationController 来呈现视图控制器。这个视图控制器 ViewController2 通过点击我放置在导航栏中的 UIBarButtonItem 被推送到堆栈。我在 Interface Builder 中通过从栏按钮拖动到 ViewController2 场景并为 segue 选择“push”来建立这种连接。要返回第一个视图控制器,我有一个IBAction调用该方法的popViewControllerAnimated方法。我正在使用委托方法将数据发送回第一个视图控制器,但来自 ViewController2 的字符串没有被发送回 ViewController。

如何使用委托方法将 ViewController2 中输入的文本传递回第一个 ViewController?

视图控制器.h

视图控制器.m

ViewController2.h

视图控制器2.m

0 投票
1 回答
714 浏览

ios - 在 popViewControllerAnimated 之后 UINavigationController 不会释放/销毁控制器?

在过去的几天里,我试图调查我最近发现的非常奇怪的情况。popViewControllerAnimated:问题是推送的控制器在通话后看起来还活着。我创建了一个简单的测试项目(启用了 ARC),其中两个控制器嵌入在根导航控制器中,并且该行为已被重现。 在此处输入图像描述 这是触发第二个控制器的第一个 viewController 代码:

从我的角度来看,没有什么不寻常的。第二个控制器中有一个方法,每秒由计时器调用:

仍然没有什么异常 - 应用程序按预期工作,UILabel 更新,tickerCount 值增加,并且消息出现在控制台上。接下来我们点击返回按钮,第一个控制器被弹出并且控制台继续从第二个控制器接收消息。 在此处输入图像描述

我仍然不知道它实际上是什么意思?整个控制器是否保持未发布或只是由某些对我没有意义的 clousure 变量持有的ticker 方法。这是测试项目http://hxml.ru/EliEX

0 投票
1 回答
334 浏览

uinavigationcontroller - 关闭 viewController 后,popViewController 将不起作用

我陷入了困境:看看这张照片: 在此处输入图像描述

我有 soundPlayerVC 作为 pageContentVC 的 childeViewController。

soundPlayerVC 呈现邮件modalViewController:

但是当我点击backButton时,popViewController不起作用,因为navigationController已经被清空了!!

这是怎么发生的?有人可以解释吗?

0 投票
4 回答
1361 浏览

ios - 使用 popToRootViewControllerAnimated:YES 时导航栏消失得比视图快

我在导航vc中嵌入了一个root vc,我使用它设置了隐藏的导航栏
[self.navigationController setNavigationBarHidden:YES];
它工作正常,导航栏消失了。

并推送 2nd vc 使用
[self.navigationController pushViewController:controller animated:YES];
在 2nd vc 中设置导航栏显示。一切顺利。

所以当我点击导航栏上的“后退按钮”时,我发现导航栏消失的速度比视图快,尤其是设置视图的背景为黑色,我可以看到整个视图是黑色的,就像没有导航栏一样曾经。
我不想要这个,我只希望导航栏一直存在,直到 viewDidDisappear。

这是问题的图片

我使用[self.navigationController popViewControllerAnimated:YES];并且必须填写 Animated is YES 可以重现这种外观。

对于排序,

  1. 导航vc中的两个vc。
  2. 根vc的导航栏被隐藏,第二个VC从根vc推送。
  3. 第二个vc制作了导航栏显示。
  4. 用来[self.navigationController popViewControllerAnimated:YES]背。

代码位置在哪里:
ps:无论你如何设置导航栏的hidden-property,在ViewDidLoad或者ViewWillAppear或者ViewDidAppear或者其他地方,都是一样的外观。

在根 vc 的 viewDidLoad
[self.navigationController setNavigationBarHidden:YES];

和 root vc 的 didSelectRowAtIndexPath:
[self.navigationController setNavigationBarHidden:NO];

0 投票
1 回答
305 浏览

ios - popViewControllerAnimated: 方法的行为是否与 NavigationController 的后退按钮不同?

在我的应用程序中,我有一个容器ViewController,它RootViewUINavigationController.

Child ViewControllers通过中的一个segmentedControlToolbar各种之间中转UINavigationController

其中一个Child views推另一个View在 上NavigationController,保持ToolbarItems

使用后退按钮,我得到了返回到 的所需行为RootViewController,但是任何以编程方式返回的尝试都不会改变view. popViewControllerAnimated总是采用topViewController堆栈但不更新视图。viewWillAppearContainer ViewController不会被这样称呼。所以我想知道后退按钮是否会执行任何其他不会在popViewControllerAnimated. 也popViewControllerAnimated:YES将冻结应用程序而不会引发错误。

我在这里先向您的帮助表示感谢。

编辑:好的,一个测试用例有点。

Stack 的 topViewController 中的 popViewControllerAnimated 可以正常工作。但是通过 SegmentedControll 对 popViewControllerAnimated 的调用不会。

我意识到我写这篇文章的方式可能有点混乱,稍后我会尽量让这一切变得更清楚一些。

0 投票
2 回答
750 浏览

ios - 为什么我的 tableview 直到第二次触摸才调用 didselectrowatindexpath?

我有一个带有自定义行的父表视图,每个视图控制器都推送一个带有tableview可选选项的视图控制器,这些选项存储为父视图控制器的属性。我的代码:

工作正常,不幸的是,didSelectRowAtIndexPath直到我第二次点击单元格列表之后,该方法才会被调用。当我这样做时,它将先前选择的第一行传递给父视图。忽略大量的NSLog,只捕获变量在做什么。

0 投票
2 回答
1565 浏览

ios - 弹出到初始视图控制器

我目前正在编写一个使用嵌入式导航控制器的应用程序。我需要从嵌入式视图控制器中弹出到第一个视图控制器的初始视图。

这行代码只是将我返回到嵌入式导航控制器的初始视图:

[self.navigationController popToRootViewControllerAnimated:YES];

有任何想法吗?