问题标签 [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 回答
846 浏览

ios - popViewControllerAnimated:不想动画

我正在实现一种级联菜单。

在我的故事板中,我UINavigationController有一个UIViewController作为根视图控制器的(假设它是一个MyViewController)。MyViewController有一个情节提要 ID:“菜单”。
由于此控制器是一个菜单,因此它显示一个 tableView。单击单元格时,会触发一些代码,尤其是:

因为这里一切正常。

在子菜单中,最后一个单元格是“后退”单元格。当用户触摸它时,它会触发代码:

我在上一个菜单上正确返回,但没有动画。

我也试过:

但我仍然没有动画。

在情节提要上,我的导航控制器设置为不显示导航栏。如果我显示它,然后触摸自动出现的“后退”按钮,结果是一样的:没有动画。

我的代码有什么问题?

编辑
我正在使用 Autolayout 和 ARC;

0 投票
7 回答
28862 浏览

ios - 导航控制器 popViewControllerAnimated :是的没有按预期工作

我正在使用以下代码行:

但它在 ios 7 中的行为不像在 ios 6 中那样。有时它不会在我们连续按下后退按钮 2-3 次时弹出控制器。
导致导航栏中的突然行为并释放控制器但在 ui 上显示相同。
因此,当我们在该控制器上按下任何东西时,都会导致崩溃,因为控制器已经被释放。

0 投票
1 回答
663 浏览

ios - 什么可能导致 tableView 的 contentSize 被重置

我被困住了。我有一个稍微复杂的视图层次结构。一个 UITabBarController 来统治三个 UINavigationControllers。在每个 NavigationController 中,我都有一个根 UITableViewController 来生成其他同类。都是子类。昨天一切正常,在调整了一些滚动视图插图并切换到块后,我遇到了问题。

当我将另一个 TableViewController 推到导航堆栈上时,一切正常。但是,当我弹出那个 TableViewController 并记录根 TableViewController 的 contentSize

这只发生在从我的自定义 TableViewController 弹出到另一个同类型的 TableViewController 时。知道发生了什么(大概在viewDidLayoutSubviews)?

我怀疑 TabBarController 或 NavigationController 可能会出现问题,但我仍在画一个空白。

我已经更新了记录的内容以包含viewWillLayoutSubviewsviewDidLayoutSubviews. 似乎在 AutoLayout 得到它之前,一切都归零了。这个假设正确吗?

编辑

当我将视图控制器推到顶部时,也会发生正确设置内容大小然后将其设置为零的相同模式。然后当我弹出它时,它会设置正确的 contentSize 然后将其删除。

我想出了一个解决方法。我缓存了我的单元格高度,因此viewWillLayoutSubviews我正确设置了 contentSize。如果我以模态方式呈现视图,问题仍然存在,因为viewWillLayoutSubviews没有被调用。还是有些奇怪。

0 投票
2 回答
480 浏览

ios - popViewControllerAnimated 改变 UINavigationBar 的 UIColor

正如您在第四个 ViewController 中看到的那样,我有一个“ BackUIBarButtonItem

Back按钮连接到 IBAction :

但是当我popViewControllerAnimated:从第四个 ViewController 调用返回到第三个 ViewController 时,它会更改 Tab Bar Tab 的UINavigationBartintColor 的原始颜色。UITabBarController 的原始导航栏 tintColor 被AppDelegate设置为绿色,并且弹出将其更改为深灰色(第 4 个 VC 导航栏的颜色)

打电话时如何不丢失导航栏色调popViewControllerAnimated:?请帮忙,我这几天一直在努力解决这个问题。

0 投票
1 回答
815 浏览

ios - 使用 popViewControllerAnimated 时按钮颜色会改变

View #1中,我在情节提要中设置了两个控件;一个是导航栏中的UIBarButtonItem,另一个是UISegmentedController。前者是自定义绘制的图像,并且两个项目的色调都设置为紫色(在情节提要属性检查器中设置的色调)。

通过各种操作,用户可以通过View #1到达View #2如果在View #2中不满足某个条件,则会向用户显示一条错误消息,并在单击“OK”时重定向回View #1 。

相关代码:

请注意,警报是在while循环内触发的,因此break;. 然后下面的函数返回到View #1

问题是,当我使用该函数返回View #1popViewControllerAnimated:YES时,前面提到的两个控件(UIBarButtonItemUISegmentedController)的色调显示为灰色而不是所需的紫色。

选择不同的UISegmentedController值会恢复适当的色调颜色,但我需要保留View #1以使UIBarButtonItem返回正确的紫色色调。

色调颜色是如何变化的,我该如何解决这个问题,以便它们在弹回View #1时自动具有适当的色调颜色?

笔记:

视图 #1具有以下viewWillAppear功能

在哪里

修改了一些变量名,省略了一些代码,但这是重要的部分。我不认为该函数与不正确的色调有任何关系,因为UIBarButtonItem从未通过代码进行修改,并且显示与UISegmentedController相同的错误。

编辑#1:

将该行添加[self loadView];到该viewWillAppear方法可修复UISegmentedController色调颜色,但我尚不知道如何修复UIBarButtonItem色调问题。使用这条线[self.navigationController loadView];会导致一大堆问题。

编辑#2:

是在一个方法中调用的,该UIAlertView方法本身是从 调用的viewWillAppear。如果我将方法调用移动到,viewDidAppearUIBarButtonItem保留其正确的色调颜色。但是,在视图完成加载后,视图中的图形突然出现——这很难看。

0 投票
1 回答
574 浏览

ios - Objective-C,在 viewWillAppear 中刷新导航栏

出于某种原因,当我使用popViewControllerAnimated返回到前一个视图时,颜色UIBarButtonItem变为灰色,而不是所需的紫色(在情节提要中设置)。

有没有办法在方法中刷新导航栏viewWillAppear?我试过使用[self.navigationController loadView];,但这会导致其他问题并阻止视图加载。

0 投票
1 回答
126 浏览

uitabbarcontroller - UITabBarItem 在 PopViewController 上失去色彩

好的,所以,我在 UITabBarController 中嵌入了 UINavigationController。选择标签栏项目时,我会向我介绍NavController的根源。在表中选择一个项目会将我带到下一个视图(推送),在该视图中我为该项目设置值。点击保存更改后,我将用户弹出回根控制器(表格视图)。但是,UITabBarItem 已从蓝色调变回默认的灰色调。如果在第二个屏幕中,我在 NavBar 中点击取消以返回根目录,则 UITabBarItem 很好,即仍然被选中并染成蓝色。

我尝试了几种方法,包括在 viewWillAppear 上设置 TabBar 的选定项目以及尝试在 UITabBarController 本身中设置色调。似乎没有什么可以解决这个问题。真正有趣的是,在 UITableView 的 viewDidAppear(根视图)中,如果我将选定的 TabBarItem 的色调设置为蓝色,则结果颜色为深灰色。

如果我在选项卡栏中选择另一个项目,然后再次选择第一个项目,蓝色色调会返回。它与弹回导致此问题的根视图有关。

有人见过这个吗?有什么想法吗?

0 投票
1 回答
355 浏览

objective-c - xcode,如何在 popviewcontrolleranimated 后销毁/释放/关闭以前的控制器/场景

我有 2 个场景,“列表场景”和“细节场景”。单击“列表场景”上的项目后,它将转到“详细场景”。在“细节场景”中,我有一些动画,动画图像不断重复从左到右或从右到左移动。在我返回“列表场景”后,场景看起来像“悬挂”,我不能再为列表做任何事情(比如滚动)。退房后,发现“从左到右,从右到左”的动画还在后面运行。所以现在我假设,因为之前的场景我还在运行,所以当前场景无法检测到我的手指。

所以我的问题是,在 popviewcontrolleranimated 之后有什么方法可以删除/释放/关闭前一个场景吗?下面是我现在测试的代码。

我曾尝试使用“dismissViewController”、release、controller = nil 等方式。但结果仍然失败,动画继续运行。

有人可以给我一些指导或提示吗?多谢!

0 投票
1 回答
1395 浏览

ios - iOS 8:popViewControllerAnimated 和 popToRootViewControllerAnimated 不工作

我在 Xcode 6 的 iOS 8 中遇到一个错误。

只是这里的场景。

XCode 6 创建新项目“主从应用程序”

现在我只是详细地添加了一个按钮,并在其单击事件视图中添加到 Pop Master 视图,但它不起作用。

请看一看。

提前致谢。

0 投票
3 回答
3592 浏览

ios - 关闭后弹出视图控制器

我有一个导航控制器 A,我在其上推送视图控制器 B。我从 B 模态地呈现视图控制器 C。我需要同时关闭 C 和弹出 B。我想按顺序进行,首先保持关闭动画,然后是从 B 到 A 的弹出动画。我尝试了这段代码但没有成功:

关于如何实现这一目标的任何建议?