问题标签 [popviewcontroller]

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 回答
440 浏览

iphone - 当用户切换选项卡时,有没有办法弹出视图控制器?

当用户切换选项卡时,有没有办法弹出视图控制器?

我在其中一个选项卡上有一个带有 navigationController 的选项卡。用户选择表中的一行,将 viewController 推送到包含该表的 navigationController 上。然后用户将选项卡切换到新视图。在新视图中,他点击了一个按钮,将他带回表格选项卡。问题是navigationController 中的表仍然有一个视图被推送到它上面。

0 投票
1 回答
2023 浏览

iphone - UITableViewController 在 popViewControllerAnimated 之后没有重绘新的单元格文本标签

删除子视图后,我有一个问题UITableViewController无法重绘更新的单元格。

这是正在发生的事情。在子视图中更改数据后,父视图控制器重新加载源数据数组并通过 PostNotification运行[tableView reloadData] 。触发后,我使用popViewControllerAnimated返回父 UITableViewController(这会将子视图从堆栈中弹出,并显示控制器上一层)。

但是,我更新的数据没有出现在父视图控制器中!根据调试器,单元格的标签已经更新,但可见标签没有改变。但是,如果我滚动表格,暂时将更新的单元格移出视图,当它重新出现时,标签就会更新!

我也尝试通过viewWillAppear调用[tableView reloadData]但问题仍然存在。

以下是一些可能有用的附加信息。我有一个结构如下的 3 个视图:

我从 UserView 内部调用 UserDetailsView,如下所示:

如果我返回最顶层的控制器(SettingsViewController),然后加载有问题的控制器(UserView),一切都会正确绘制。只有从子视图返回时才会出现此问题。

预先感谢您的建议。

0 投票
1 回答
3870 浏览

iphone - UINavigationController 横向模式下的导航堆栈问题

我有一个 iPhone 应用程序,我目前正在将其转换为通用二进制文件以与 iPad 一起使用。我已经成功地实现了我在布局方面所需的一切,因此我的应用程序现在支持完整的横向功能(以前我主要使用纵向模式来显示内容)。

但是,我有一个奇怪的问题,它只发生在横向模式下:当我将视图控制器推入堆栈时,需要在后退按钮上点击两次才能返回到前一个视图控制器!第一次点击显示一个空白视图,但在左侧后退导航按钮上具有相同的名称,第二次点击将控制器返回到以前的视图,就像它应该的那样。

我没有要测试的 iPad,所以我依靠模拟器。如果您旋转回纵向模式,该问题不会出现在 iPhone 上并且不会出现。

我的应用程序由一个 tabbarcontroller 和为其 vc 加载的导航控制器组成:

为了实现横向功能,UITabBarController 被覆盖以在需要时自动旋转:

... 工作正常。我使用这种方法导航到新视图

这只是一个模拟错误吗?我该如何解决这个问题?

0 投票
1 回答
1375 浏览

iphone - popViewControllerAnimated 和 selectedIndex 的 UITabBarController 旋转问题(iPhone SDK)

这是一个非常重要的自动旋转问题并且很容易重现。

我的应用程序有一个 UITabBarController。每个选项卡都是一个 UINavigationController。自动旋转通过对 shouldAutorotateToInterfaceOrientation 和 didRotateFromInterfaceOrientation 的正常调用来处理。

界面正常旋转,直到我调用 UIViewController.popViewControllerAnimated 并更改 UITabBarController.selectedIndex。

重现步骤:

  1. 创建一个演示标签栏应用程序。
  2. 将以下代码添加到 App Delegate .h 文件中:
  3. 将以下代码添加到 App Delegate .m 文件:/li>

界面自动旋转正常,直到您点击标签 #3 上的按钮。

您的帮助将不胜感激!

0 投票
1 回答
1386 浏览

iphone - 来自 UINavigationController 内的 UITabBarController 的 popView

我正在基于 Xcode 中的 Utility 模板构建一个应用程序,并在其中添加了更多视图。我的应用程序结构如下:

  • MainView(应用程序菜单)

    • 翻转视图(计算器)

    • UINavigationController

    • 设置视图

      • viewDiDLoad:UITabBarController

        /li>

我可以正确地从 MainView 导航到 Flip-side 视图,这也是 Navigation Controller 的根视图。从我的 Flip-side 视图中,我推送了导航控制器的第二个视图(设置视图),该视图配置为在加载后立即显示带有两个选项卡的 UITabBarController(使用 viewDidLoad)。

如果我删除了 UITabBarController,我可以使用“设置”视图中的“popViewController”毫无问题地返回到我的翻转侧视图。如果我在“设置”视图中的 viewDiDLoad 中加载 UITabBarController 就会出现问题......选项卡工作正常,但我无法再返回到我的翻转侧视图(导航控制器的根视图)。

如果我使用导航控制器的导航栏,我可以返回,但我想配置自己的按钮并隐藏导航栏。

到目前为止,我已经尝试了以下方法:

  • [self.navigationController popViewControllerAnimated:YES];

  • [self.navigationController popToRootViewControllerAnimated:YES];

  • [self.navigationController popToViewController:FlipSideViewController 动画:YES];

但它们似乎不起作用。前两个什么都不做(屏幕保持原样),第三个不识别“FlipsideViewController”(可能是因为它是 MainViewController 的委托?)。

如果我激活它,有没有办法检查导航栏的“后退”按钮到底在做什么?

我应该使用代表吗?

我可以从两个选项卡视图中的任何一个在我的设置视图中调用 popViewController 方法吗?

这是我的翻转视图:

这是我的设置视图:

以及在选项卡视图之一中返回的方法:

非常感谢,如果问题太基本,对不起!

0 投票
2 回答
3180 浏览

iphone - popViewController 不会自动旋转回允许的方向

我有两个 UIViewController,“A”和“B”,其中“A”覆盖 shouldAutorotateToInterfaceOrientation 为 UIInterfaceOrientationPortrait 返回 YES,而“B”对所有方向返回 YES。在我的示例中,“A”是根导航视图控制器,然后我将 pushViewController 用于“B”。之后我将设备旋转到横向,它成功地自动旋转“B”,然后我弹出“B”(后退按钮或通过 popViewController)返回到“A”。

以 iPhone OS 3.1.3 为目标时,“A”按预期返回纵向。以 iPhone OS 3.2 为目标时,我有两个副作用:

  1. “A”以横向显示。
  2. 即使现在显示“A”,导航栏也不会更新。导航栏仍然显示“B”的项目。只有在尝试再返回/弹出一次之后,导航栏才会动画显示“A”的项目。如果我尝试再次按“B”并返回,则必须在导航栏动画显示“A”项目之前弹出两次。在这些“中间弹出”期间,“A”的视图仍然显示。

在研究这个问题时,我看到其他答案建议手动执行旋转([UIDevice setOrientation] 或通过转换),但这无助于理解问题所在,尤其是为什么它在两个操作系统之间的行为不同。

所以我的问题是:UINavigationController 堆栈上的所有 UIViewController 都必须支持完全相同的方向吗?如果没有,那么我需要做些什么来让它像 OS 3.1.3 一样运行吗?

0 投票
1 回答
2415 浏览

iphone - popViewControllerAnimated 从后退按钮

如何从按下后退按钮弹出视图,我从以前的视图控制器传递了以下代码。谢谢

0 投票
16 回答
53086 浏览

iphone - 我可以弹出到特定的 ViewController 吗?

我正在使用基于导航的应用程序。我将 First ViewController 推送到 Second ViewController 并从 Second ViewController 推送到 Third ViewController。现在我想从第三个 ViewController 弹出到第一个 ViewController。我正在使用下面的代码执行此任务,但我的应用程序崩溃了。

请任何机构给我一些适当的指导。我不能使用 pop 到 rootViewController,因为它是不同的 viewController。提前致谢...

在第三个 ViewControler 我写了这个:

0 投票
1 回答
3379 浏览

iphone - 动画 UINavigationController 的“后退”按钮

我在导航控制器的层次结构中的视图控制器上有一个自定义按钮,按下时会弹出可见的视图控制器。

我想使用 UIView 的transform属性来动画视图控制器的关闭。它可以工作,但如果我使用“popViewControllerAnimated:YES”,动画的默认左侧幻灯片仍然存在,尽管我的自定义转换也可以工作。

如果我设置popViewControllerAnimated:NO它根本不会为任何东西设置动画。

CATransition当我popViewControllerAnimated设置为时,我还研究了使用which works NO,但是公共 API 中没有“缩放”效果,我不想使用私有效果。自定义过滤器也不适用于 iPhone,只有 OS X。

所以我想我的问题是:

1) 有没有办法在默认过渡中删除左幻灯片,但仍然使用自定义动画transform

2)某种方式使用自定义过滤器CATransition

3) 如果我使用私有 API 来实现缩放效果,Apple 将我的应用程序扔进拒绝箱的可能性有多大?

有没有人有我忽略的解决方案?

0 投票
2 回答
2517 浏览

uiview - 我可以“卷曲”popViewControllerAnimated 上的页面吗?

我可以使用以下代码“卷起”视图控制器:

但我不能像这样卷曲最后一页:

知道为什么不?我只是真的想“反转”动画(好像贴纸已被剥离以显示“推送”视图控制器并在他们单击按钮时重新打开)。

谢谢