【问题标题】:TableView in navigation stack does not animate back导航堆栈中的 TableView 不会返回动画
【发布时间】:2012-02-24 12:19:27
【问题描述】:

我有UINavigationControllerUITableViewController 作为根控制器。当我将另一个控制器推到它上面时(对于行的详细视图),新控制器从右侧出现动画。但是当我点击UINavigationBar 上的后退按钮时,它只会为导航栏(标签、按钮)设置动画,但UITableView 会立即出现而没有动画。有人知道我做错了什么吗?

该表格的单元格的视图略有改变,但没什么大不了的。

这就是http://www.youtube.com/watch?v=6Bww333BsJo的样子

谢谢

【问题讨论】:

  • @beny 首先提供您编写的代码。
  • @benny 我想建议你的一件事。尝试使用 UIviewController 而不是 UItableViewController 并在该 UIviewController 上添加 UItableView。现在,我认为您的代码可能工作正常。
  • 不想那样做,那不是解决方案。还有关于代码,代码很多,这里不能一一贴出来,你对哪些patrs感兴趣?
  • 可能“有很多代码”是问题所在。我想如果你建立一个新的、简单的、只包含两个 VC 的项目,这不会是一个问题。我认为那里的某个地方动画被设置为“否”。我会开始寻找那个。
  • thx @psoft,我离开电脑呼吸新鲜空气,然后阅读了您的评论并解决了问题,覆盖了 viewWillAppear 方法,动画布尔值未发送到 super。谢谢帮助

标签: iphone objective-c ios animation uikit


【解决方案1】:

我重写了方法viewDidAppear:(BOOL)animated 并忘记将动画布尔值发送给super。感谢@psoft 寻求帮助。

【讨论】:

    【解决方案2】:

    使用 UIViewController 的更好方法...而不是 UITableViewController 并添加对象 UITableView .. 它完美地工作...或者让我知道您在那里的代码我肯定会帮助您..

    【讨论】:

    • 有什么真正的原因吗? UITableViewController 是 UIViewController 的后代,适合显示 UITableView...
    • 没错,UITableViewController 有什么错误?我想知道为什么我的解决方案是错误的,以便以后避免它。
    【解决方案3】:

    覆盖导航栏中的后退按钮,因此它响应例如方法'-(void)back:(id)sender',该方法应如下所示:

    - (void)back:(id)sender{
        [self.navigationController popViewControllerAnimated:YES];
    }
    

    如果你通过 NO,它会在没有任何动画的情况下弹出

    【讨论】:

    • 什么都没变,自己尝试弹出但问题依然存在
    • 我想看一些代码。我的猜测是 TableViewController。始终使用 UIViewController 作为 rootViewController,添加一个 uitableview 作为子视图,并使 viewcontroller 成为 2 个代表。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-02
    • 1970-01-01
    • 2021-02-24
    • 2015-10-31
    • 2011-07-16
    • 1970-01-01
    相关资源
    最近更新 更多