导航栏更改高度
当我把我的UIViewController
从我以前的控制器中推到屏幕上时,它会改变这个变化。 但是,当它完成加载它的大小我的导航栏和跳跃转换使它看起来不好。 我怎样才能解决这个问题? 我所做的只是在viewWillAppear
隐藏控制器A中的导航栏,并在viewDidLoad
中的控制器B中显示它。
好的解决了它。 在控制器B(我推动的视图控制器)的viewDidLoad
中添加以下内容:
UINavigationBar *navigationBar = self.navigationController.navigationBar; [navigationBar setBackgroundImage:[UIImage new] forBarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault]; [navigationBar setShadowImage:[UIImage new]];
然后在你的UIViewController
的XIB在导航栏上设置一个高度约束,并将其设置为68(从testing实际的线似乎落在68和69之间)。 丝绸般光滑。
编辑:如果有人有任何更好的想法,请添加他们。 我将不得不修改这个解决scheme的屏幕旋转,所以它不完美。
你可以在你的控制器中做这样的事情:
- (void)viewWillAppear:(BOOL)animated { [self.navigationController setNavigationBarHidden:YES animated:animated]; [super viewWillAppear:animated]; } - (void)viewWillDisappear:(BOOL)animated { [self.navigationController setNavigationBarHidden:NO animated:animated]; [super viewWillDisappear:animated]; }