JZNavigationExtension icon indicating copy to clipboard operation
JZNavigationExtension copied to clipboard

侧滑一半导行栏变白问题

Open lsb332 opened this issue 7 years ago • 2 comments

id _previousVisibleViewController = [objc_getAssociatedObject(self, _cmd) weakObjectValue];
if (!_previousVisibleViewController) {
    _previousVisibleViewController = [self.topViewController.transitionCoordinator viewControllerForKey:UITransitionContextFromViewControllerKey];  

// 测试这个问题出现在这部 如果滑动到一半返回 topViewController. transitionCoordinator 为nil 此时应该把_previousVisibleViewController 指向topViewController 因为后面用到这个_previousVisibleViewController 而这个controller为nil的时候就会出现空白了 if (!_previousVisibleViewController) { _previousVisibleViewController = self.topViewController; } self.jz_previousVisibleViewController = _previousVisibleViewController; } return _previousVisibleViewController;

lsb332 avatar Dec 21 '17 07:12 lsb332

不改变源码的情况下,只要在viewWillAppear方法里加上self.navigationController.jz_previousVisibleViewController;这一句调用就不会出现侧滑取消时的颜色问题。

但是返回到前一个页面时,前一个页面的导航栏颜色会相同。如果两个页面导航栏颜色不一样,前一个页面viewDidLoad时一定要加上jz_navigationBarTintColor的设置。

suancaiyu avatar Jan 27 '18 07:01 suancaiyu

@lsb332 正解

Free-am avatar May 16 '18 08:05 Free-am