UINavigationBar在侧滑后显示错乱

当大量调用不同样式navigationbar时,会出现bug,手势动画来回滑动后navigationBar会出现显示错乱的情况,查了一下发现了以下的情况在调用下面方法的时候


[self.navigationController setNavigationBarHidden:YES animated:YES];

短时间内再调用下面的方法


[self.navigationController setNavigationBarHidden:NO animated:NO];

或者在调用


[self.navigationController setNavigationBarHidden:YES animated:NO];

之后调用


[self.navigationController setNavigationBarHidden:NO animated:YES];

这会导致 navigationBar 全部错乱。目前出现的场景为调用[self.navigationController setNavigationBarHidden:YES animated:NO];的类push进入调用[self.navigationController setNavigationBarHidden:NO animated:YES];的类同时进行手势动画,来回拉动之后整个应用的navigationBar就全乱了,经过检测调用self.navigationController.navigationBarHidden = YES也同样出现这一问题,这是系统bug,保险起见应该在所有调用navigationBarHidden的方法中将animated设为YES就可以避免这一bug。

你可能感兴趣的:(UINavigationBar在侧滑后显示错乱)