问题标签 [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.
iphone - UINavigationController popViewControllerAnimated 问题
我有LoginViewControllerIphone实例,我在其中推送实例TasksRootViewControllerIphone
然后在TasksRootViewControllerIphone(出现后10秒)我打电话 [self.navigationController popViewControllerAnimated:YES];
并收到一个错误:
我试图打印导航控制器堆栈:
所以它有适当的视图控制器。任何想法怎么会发生?
更新:
推送代码:
在 TasksRootViewControllerIphone.m 我有:
storyboard - Xcode5 iOS7 Segues + popViewControllerAnimated = 损坏的过渡
所以我从另一个开发人员那里接手了一个应用程序,在 iOS 6 中的生活很美好。不幸的是,他们使用 Storyboard + Segues 来控制应用程序的导航,这完全是一团糟。我在 iOS7 中遇到的问题是,当用户经过几次转场并完成时,应用程序会尝试使用 popViewControllerAnimated 向后导航。
此代码导致错误:
这段代码似乎可以向后导航:
显然,我认为通过 navigationController 的 viewController 数组进行强制转换和欺骗不是一个好主意(尤其是没有自省),但为什么这只会在 iOS7 中引起问题?在Apple 的 iOS 7 Api Diffs中,我没有看到 popViewControllerAnimated 被弃用,所以我很茫然。
我什至不会提到故事板的布局有多糟糕,我会用我的周末来修复那个 PITA。
objective-c - popViewControllerAnimated 后,重新加载 TableView 问题
当它从导航堆栈中弹出 whereViewController 时,即
,在这个方法之后它会重新加载 whereViewcontroller 的 tableview。如果它运行准确,它一定不能重新加载 tableview。我不知道为什么它会这样运行。它只出现在 ios 7 上,在 iOS6 上不出现。请帮我。谢谢你。
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
ios - 在 popViewControllerAnimated 之后 UINavigationController 不会释放/销毁控制器?
在过去的几天里,我试图调查我最近发现的非常奇怪的情况。popViewControllerAnimated:问题是推送的控制器在通话后看起来还活着。我创建了一个简单的测试项目(启用了 ARC),其中两个控制器嵌入在根导航控制器中,并且该行为已被重现。
这是触发第二个控制器的第一个 viewController 代码:
从我的角度来看,没有什么不寻常的。第二个控制器中有一个方法,每秒由计时器调用:
仍然没有什么异常 - 应用程序按预期工作,UILabel 更新,tickerCount 值增加,并且消息出现在控制台上。接下来我们点击返回按钮,第一个控制器被弹出并且控制台继续从第二个控制器接收消息。

我仍然不知道它实际上是什么意思?整个控制器是否保持未发布或只是由某些对我没有意义的 clousure 变量持有的ticker 方法。这是测试项目http://hxml.ru/EliEX
uinavigationcontroller - 关闭 viewController 后,popViewController 将不起作用
我陷入了困境:看看这张照片:

我有 soundPlayerVC 作为 pageContentVC 的 childeViewController。
soundPlayerVC 呈现邮件modalViewController:
但是当我点击backButton时,popViewController不起作用,因为navigationController已经被清空了!!
这是怎么发生的?有人可以解释吗?
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 可以重现这种外观。
对于排序,
- 导航vc中的两个vc。
- 根vc的导航栏被隐藏,第二个VC从根vc推送。
- 第二个vc制作了导航栏显示。
- 用来
[self.navigationController popViewControllerAnimated:YES]背。
代码位置在哪里:
ps:无论你如何设置导航栏的hidden-property,在ViewDidLoad或者ViewWillAppear或者ViewDidAppear或者其他地方,都是一样的外观。
在根 vc 的 viewDidLoad
[self.navigationController setNavigationBarHidden:YES];
和 root vc 的 didSelectRowAtIndexPath:
[self.navigationController setNavigationBarHidden:NO];
ios - popViewControllerAnimated: 方法的行为是否与 NavigationController 的后退按钮不同?
在我的应用程序中,我有一个容器ViewController,它RootView是UINavigationController.
我Child ViewControllers通过中的一个segmentedControl在Toolbar各种之间中转UINavigationController。
其中一个Child views推另一个View在 上NavigationController,保持ToolbarItems。
使用后退按钮,我得到了返回到 的所需行为RootViewController,但是任何以编程方式返回的尝试都不会改变view.
popViewControllerAnimated总是采用topViewController堆栈但不更新视图。viewWillAppear的Container ViewController不会被这样称呼。所以我想知道后退按钮是否会执行任何其他不会在popViewControllerAnimated. 也popViewControllerAnimated:YES将冻结应用程序而不会引发错误。
我在这里先向您的帮助表示感谢。
编辑:好的,一个测试用例有点。
Stack 的 topViewController 中的 popViewControllerAnimated 可以正常工作。但是通过 SegmentedControll 对 popViewControllerAnimated 的调用不会。
我意识到我写这篇文章的方式可能有点混乱,稍后我会尽量让这一切变得更清楚一些。
ios - 为什么我的 tableview 直到第二次触摸才调用 didselectrowatindexpath?
我有一个带有自定义行的父表视图,每个视图控制器都推送一个带有tableview可选选项的视图控制器,这些选项存储为父视图控制器的属性。我的代码:
工作正常,不幸的是,didSelectRowAtIndexPath直到我第二次点击单元格列表之后,该方法才会被调用。当我这样做时,它将先前选择的第一行传递给父视图。忽略大量的NSLog,只捕获变量在做什么。
ios - 弹出到初始视图控制器
我目前正在编写一个使用嵌入式导航控制器的应用程序。我需要从嵌入式视图控制器中弹出到第一个视图控制器的初始视图。
这行代码只是将我返回到嵌入式导航控制器的初始视图:
[self.navigationController popToRootViewControllerAnimated:YES];
有任何想法吗?