问题标签 [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.
ios - popViewControllerAnimated:不想动画
我正在实现一种级联菜单。
在我的故事板中,我UINavigationController
有一个UIViewController
作为根视图控制器的(假设它是一个MyViewController
)。MyViewController
有一个情节提要 ID:“菜单”。
由于此控制器是一个菜单,因此它显示一个 tableView。单击单元格时,会触发一些代码,尤其是:
因为这里一切正常。
在子菜单中,最后一个单元格是“后退”单元格。当用户触摸它时,它会触发代码:
我在上一个菜单上正确返回,但没有动画。
我也试过:
但我仍然没有动画。
在情节提要上,我的导航控制器设置为不显示导航栏。如果我显示它,然后触摸自动出现的“后退”按钮,结果是一样的:没有动画。
我的代码有什么问题?
编辑
我正在使用 Autolayout 和 ARC;
ios - 导航控制器 popViewControllerAnimated :是的没有按预期工作
我正在使用以下代码行:
但它在 ios 7 中的行为不像在 ios 6 中那样。有时它不会在我们连续按下后退按钮 2-3 次时弹出控制器。
导致导航栏中的突然行为并释放控制器但在 ui 上显示相同。
因此,当我们在该控制器上按下任何东西时,都会导致崩溃,因为控制器已经被释放。
ios - 什么可能导致 tableView 的 contentSize 被重置
我被困住了。我有一个稍微复杂的视图层次结构。一个 UITabBarController 来统治三个 UINavigationControllers。在每个 NavigationController 中,我都有一个根 UITableViewController 来生成其他同类。都是子类。昨天一切正常,在调整了一些滚动视图插图并切换到块后,我遇到了问题。
当我将另一个 TableViewController 推到导航堆栈上时,一切正常。但是,当我弹出那个 TableViewController 并记录根 TableViewController 的 contentSize
这只发生在从我的自定义 TableViewController 弹出到另一个同类型的 TableViewController 时。知道发生了什么(大概在viewDidLayoutSubviews
)?
我怀疑 TabBarController 或 NavigationController 可能会出现问题,但我仍在画一个空白。
我已经更新了记录的内容以包含viewWillLayoutSubviews
和viewDidLayoutSubviews
. 似乎在 AutoLayout 得到它之前,一切都归零了。这个假设正确吗?
编辑
当我将视图控制器推到顶部时,也会发生正确设置内容大小然后将其设置为零的相同模式。然后当我弹出它时,它会设置正确的 contentSize 然后将其删除。
我想出了一个解决方法。我缓存了我的单元格高度,因此viewWillLayoutSubviews
我正确设置了 contentSize。如果我以模态方式呈现视图,问题仍然存在,因为viewWillLayoutSubviews
没有被调用。还是有些奇怪。
ios - popViewControllerAnimated 改变 UINavigationBar 的 UIColor
正如您在第四个 ViewController 中看到的那样,我有一个“ Back ”UIBarButtonItem
Back按钮连接到 IBAction :
但是当我popViewControllerAnimated:
从第四个 ViewController 调用返回到第三个 ViewController 时,它会更改 Tab Bar Tab 的UINavigationBar
tintColor 的原始颜色。UITabBarController 的原始导航栏 tintColor 被AppDelegate设置为绿色,并且弹出将其更改为深灰色(第 4 个 VC 导航栏的颜色)
打电话时如何不丢失导航栏色调popViewControllerAnimated:
?请帮忙,我这几天一直在努力解决这个问题。
ios - 使用 popViewControllerAnimated 时按钮颜色会改变
在View #1中,我在情节提要中设置了两个控件;一个是导航栏中的UIBarButtonItem,另一个是UISegmentedController。前者是自定义绘制的图像,并且两个项目的色调都设置为紫色(在情节提要属性检查器中设置的色调)。
通过各种操作,用户可以通过View #1到达View #2。如果在View #2中不满足某个条件,则会向用户显示一条错误消息,并在单击“OK”时重定向回View #1 。
相关代码:
请注意,警报是在while
循环内触发的,因此break;
. 然后下面的函数返回到View #1
问题是,当我使用该函数返回View #1popViewControllerAnimated:YES
时,前面提到的两个控件(UIBarButtonItem和UISegmentedController)的色调显示为灰色而不是所需的紫色。
选择不同的UISegmentedController值会恢复适当的色调颜色,但我需要保留View #1以使UIBarButtonItem返回正确的紫色色调。
色调颜色是如何变化的,我该如何解决这个问题,以便它们在弹回View #1时自动具有适当的色调颜色?
笔记:
视图 #1具有以下viewWillAppear
功能
在哪里
修改了一些变量名,省略了一些代码,但这是重要的部分。我不认为该函数与不正确的色调有任何关系,因为UIBarButtonItem从未通过代码进行修改,并且显示与UISegmentedController相同的错误。
编辑#1:
将该行添加[self loadView];
到该viewWillAppear
方法可修复UISegmentedController色调颜色,但我尚不知道如何修复UIBarButtonItem色调问题。使用这条线[self.navigationController loadView];
会导致一大堆问题。
编辑#2:
是在一个方法中调用的,该UIAlertView
方法本身是从 调用的viewWillAppear
。如果我将方法调用移动到,viewDidAppear
则UIBarButtonItem
保留其正确的色调颜色。但是,在视图完成加载后,视图中的图形突然出现——这很难看。
ios - Objective-C,在 viewWillAppear 中刷新导航栏
出于某种原因,当我使用popViewControllerAnimated
返回到前一个视图时,颜色UIBarButtonItem
变为灰色,而不是所需的紫色(在情节提要中设置)。
有没有办法在方法中刷新导航栏viewWillAppear
?我试过使用[self.navigationController loadView];
,但这会导致其他问题并阻止视图加载。
uitabbarcontroller - UITabBarItem 在 PopViewController 上失去色彩
好的,所以,我在 UITabBarController 中嵌入了 UINavigationController。选择标签栏项目时,我会向我介绍NavController的根源。在表中选择一个项目会将我带到下一个视图(推送),在该视图中我为该项目设置值。点击保存更改后,我将用户弹出回根控制器(表格视图)。但是,UITabBarItem 已从蓝色调变回默认的灰色调。如果在第二个屏幕中,我在 NavBar 中点击取消以返回根目录,则 UITabBarItem 很好,即仍然被选中并染成蓝色。
我尝试了几种方法,包括在 viewWillAppear 上设置 TabBar 的选定项目以及尝试在 UITabBarController 本身中设置色调。似乎没有什么可以解决这个问题。真正有趣的是,在 UITableView 的 viewDidAppear(根视图)中,如果我将选定的 TabBarItem 的色调设置为蓝色,则结果颜色为深灰色。
如果我在选项卡栏中选择另一个项目,然后再次选择第一个项目,蓝色色调会返回。它与弹回导致此问题的根视图有关。
有人见过这个吗?有什么想法吗?
objective-c - xcode,如何在 popviewcontrolleranimated 后销毁/释放/关闭以前的控制器/场景
我有 2 个场景,“列表场景”和“细节场景”。单击“列表场景”上的项目后,它将转到“详细场景”。在“细节场景”中,我有一些动画,动画图像不断重复从左到右或从右到左移动。在我返回“列表场景”后,场景看起来像“悬挂”,我不能再为列表做任何事情(比如滚动)。退房后,发现“从左到右,从右到左”的动画还在后面运行。所以现在我假设,因为之前的场景我还在运行,所以当前场景无法检测到我的手指。
所以我的问题是,在 popviewcontrolleranimated 之后有什么方法可以删除/释放/关闭前一个场景吗?下面是我现在测试的代码。
我曾尝试使用“dismissViewController”、release、controller = nil 等方式。但结果仍然失败,动画继续运行。
有人可以给我一些指导或提示吗?多谢!
ios - iOS 8:popViewControllerAnimated 和 popToRootViewControllerAnimated 不工作
我在 Xcode 6 的 iOS 8 中遇到一个错误。
只是这里的场景。
XCode 6 创建新项目“主从应用程序”
现在我只是详细地添加了一个按钮,并在其单击事件视图中添加到 Pop Master 视图,但它不起作用。
请看一看。
提前致谢。
ios - 关闭后弹出视图控制器
我有一个导航控制器 A,我在其上推送视图控制器 B。我从 B 模态地呈现视图控制器 C。我需要同时关闭 C 和弹出 B。我想按顺序进行,首先保持关闭动画,然后是从 B 到 A 的弹出动画。我尝试了这段代码但没有成功:
关于如何实现这一目标的任何建议?