问题标签 [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];
有任何想法吗?