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

ios - viewController 的 dealloc 在调用 navigationController popViewControllerAnimated 时不会被调用

我有一个 MyViewController,它基于 UIViewController,我像下面的代码一样使用它:

MyViewController *nextViewController = [[MyViewController alloc] init]; [self.navigationController pushViewController:nextViewController animated:YES]; [nextViewController release];

在 MyViewController 中,带有用户事件,具有以下代码:

[self.navigationController popViewControllerAnimated:YES];

现在,我发现,MyViewController 的 dealloc 没有被调用,但是,当我将 App 切换到后台时,例如,通过 home 按钮,dealloc 方法已经被调用了!这是个大问题!会有很多 MyViewController 不会被释放,当用户转到一个 MyViewController 时,一次又一次地返回,只是,只有当应用程序转到后台时,才能释放大量内存。

所以,谁能帮我解决这个问题,谢谢!

0 投票
1 回答
2640 浏览

ios - iOS:viewWillDisappear 没有从另一个视图控制器调用 popViewControllerAnimated

我对 iOS 开发比较陌生,并且我遇到了弹出视图控制器的问题。UIViewControllers按下后退按钮时,我需要从导航堆栈中弹出两个(或更多) 。因为我不希望它们都被动画化,所以我首先弹出除了最后一个未动画的所有内容,然后将最后一个动画弹出,但-viewWillDisappear不会只为最后一个被调用。这是我的代码(这些是从 super 调用的UIViewController,所有其他代码都是从它扩展而来的):

有人知道我在这里做错了什么,或者你能指导我如何正确地实现我所需要的吗?

0 投票
1 回答
205 浏览

objective-c - 哪个 UIViewController 叫 popViewControllerAnimated:?

假设我有3个UIViewControllersA,B,C。

现在假设我从 A 调用 B 或 C。不是使用 segue,而是在代码中实例化它们并将它们推送到navigationController.

在 B 或 C 完成后,他们调用popViewControllerAnimated:并因此返回到 A。

在这一点上,我想访问 B 或 C 的属性,这取决于它们中的哪一个实际上是我使用的最后一个。

UIViewController如果最后一个是 B 型或 C 型,是否有任何方法或属性可以为我提供信息?

我知道我可以为 B 和 C 定义一个协议并将 A 设置为delegate,但我正在寻找其他东西......

0 投票
1 回答
1249 浏览

ios5 - UINavigatorController popViewController:animated 在 iOS 5.1 中显示奇怪的行为,但在 iOS 6 中没有

我发现了一些我无法在我的 iOS 应用程序中解释的奇怪行为。

我正在使用嵌入在 UITabBarController 子类中的标准 UINavigationController。

当我在 NavigationController 上推送 ViewController 时,动画就很好了。但是,当 ViewController 在 Landscape 中弹出时,弹出动画从屏幕顶部到下端发生,这与预期的从右到左的标准行为相反。

更奇怪的是,TabBar 包含在动画过渡中,而在 Portrait 模式下也不是这样。

这只发生在 iOS 5 设备上,目前我只是不知道为什么会发生这种情况。

0 投票
1 回答
680 浏览

ios6 - IOS 6.0 + supportedInterfaceOrientations 在使用 popViewControllerAnimated 弹回控制器时未应用

解决了:

解决这个问题的唯一方法(据我所知)是将您的自由旋转视图控制器置于层次结构之外。一种方法是临时将您的自由旋转控制器分配给应用程序委托根控制器。这样,当它旋转时,层次结构的其余部分不会受到影响。


我有一个我推送的控制器,supportedInterfaceOrientations 被正确调用并且值被正确返回 - 我正在强制纵向。我已经对我的导航器和选项卡控制器进行了子类化,所以我得到了相关的方法。事实上,一切都很完美,除了这个问题:

从仅支持纵向的特定控制器,我推动另一个支持所有方向的控制器。

在第二个控制器中,如果我将设备更改为横向,然后在横向模式下弹出此控制器,则会发生以下情况:

在我原来的控制器中,supportedInterfaceOrientations 被调用得很好(shouldAutorotate 返回 YES),并返回与以前相同的方向值(仅限纵向)。但是,即使我只通过肖像,控制器的内容仍然是风景。

通过断点,我验证了每次都调用了supportedInterfaceOrientations。但是,当弹出子控制器景观控制器时,不会应用返回值。

我尝试添加 [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait]; 在 viewWillAppear 中,但是:1)它不起作用,2)这不会让我的应用程序被拒绝吗?

我怎么解决这个问题?

编辑,这里是一些代码,虽然我的问题是非常基本的。

在控制器 1 中,这些总是被调用:

然后,在某个时候,我推动我的第二个控制器(它;一个视频播放器):

在控制器 2 中:

重复步骤:

1)启动应用程序,它将以纵向模式显示控制器1,因为这是返回的掩码。而且它不会旋转。

2)推动(或什至呈现模式)控制器2。

3)这个会旋转。旋转到横向模式。

4)弹出控制器2。

5) 控制器 1 将处于横向模式,即使调用了 shouldAutorotate 和 supportedInterfaceOrientations 并且它们返回的值如控制器 1 的代码所示。

0 投票
4 回答
653 浏览

objective-c - 中间视图控制器在关闭模式视图然后弹出视图控制器后短暂显示

我有一个表视图控制器 A,它对视图控制器 B 执行推送 segue。B 然后对视图控制器 C 执行模态 segue。我在 C 上有一个按钮,需要导致 C 被解雇(其中如前所述,是模态的)并且 B 的弹出,以便我们返回 A。在 C 中,我检测到按钮按下并使用委托回调 B,然后使用以下方法关闭模态视图控制器 C:

然后 B 使用一个委托回调 A 并使用以下方法从堆栈中弹出 B:

现在这一切都奏效了,除了在这一切期间我短暂地看到 B 的非常烦人的事实,而我希望能够从 C 直接“弹出”回到 A 而根本看不到 B,无论多么短暂。我已经为上面的动画参数尝试了 YES/NO 的组合,还尝试了 popToRootViewControllerAnimated,但没有运气:-(

有人有什么想法吗?

0 投票
2 回答
2356 浏览

ios - IOS popviewcontroller去掉导航栏

我在我的应用程序中使用故事板,我正在尝试将 bac 移动到以前的视图控制器使用

它工作正常,但它给了我正确的视图控制器,但它从中删除了导航栏,我不知道为什么我在项目的其他地方使用它,它没有任何问题,这让我发疯:D

一些身体请帮助谢谢。

0 投票
1 回答
181 浏览

ios - popViewControllerAnimated 上出现后退按钮:YES

我正在制作一个应用程序,我在其中创建了自定义导航栏 - MyNavigationBar(扩展 UIView):

MyNavigationBar.xib

该自定义视图的笔尖

我的导航栏.m

然后在NavigationViewController实现中,我使用此代码将上面显示的视图添加到navigationBar

导航视图控制器.m

当按下左按钮(MyNavigationBar的子视图)时

叫做。

问题是在弹出动画故障发生时,它看起来像这样:

在此处输入图像描述在此处输入图像描述

后退按钮在所有动画持续时间内变为可见,然后消失。

我已经尝试过了,但没有任何反应:

0 投票
3 回答
104 浏览

iphone - 委派无法正常工作(应该告诉 VC popViewControllerAnimated)

我正在使用一个简单protocol的方法来判断delegate何时点击了保存按钮,VC2以便view controller可以popViewControllerAnimated通过VC1.

VC2有一个protocol确认VC1

VC2.h

VC2.m

VC1.m

希望你能帮忙。

0 投票
1 回答
151 浏览

ios - 通用/中央 popViewControllerAnimated 方法

我有一个甜蜜的小问题和场景:

问题:我可以拥有 [self.navigationController popViewControllerAnimated:True]

受到中央阶级的控制,要求在每一个观点中都必须重复。

所以这就是我到目前为止所拥有的:观点:

中心班:

setGenericBackButton 可以:

backButtonAction 会:

我是否懒于尝试保存尝试做不可能的代码行,或者这实际上可以做到吗?我很乐意更好地解释这一点。