【发布时间】:2014-01-19 10:47:58
【问题描述】:
我以这种方式在 viewDidAppear 中启用了 interactivePopGestureRecognizer:
if ([self.navigationController respondsToSelector(interactivePopGestureRecognizer)]) {
self.navigationConroller.interactivePopGestureRecognizer.enabled = YES;
self.navigationController.interactivePopGestureRecognizer.delegate = self;
}
这段代码在每个推送/弹出视图控制器的生命周期中被调用。如果滑动操作完成,手势识别器将正常工作。但是,如果发生部分滑动,视图控制器会显示正确的视图,但导航栏会错位/显示较早的视图控制器导航栏。我正在使用自定义左右导航栏项目,而不是后退按钮。 我还尝试将代码放在不同的生命周期方法中,例如 viewDidLoad,甚至尝试将委托设置为导航控制器本身。但结果并没有改变。我尝试在 SO 上搜索类似问题,但找不到正确的响应。我确实找到了一个链接,该链接说问题可能是因为直接在代码中调用生命周期方法(viewDidAppear、viewWillAppear)。但是应用程序中没有这样的直接方法调用。其他链接提到了自定义 leftBarButtonItem 的问题。 任何帮助表示赞赏。
【问题讨论】:
-
谁能帮帮我?
标签: ios iphone objective-c