ios 隐藏带动画的状态栏
ios hide status bar with animated
我想在页面切换时禁用导航栏动画。,
root viewController
- (BOOL)prefersStatusBarHidden{
return YES;
}
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[self.navigationController setNavigationBarHidden:YES animated:animated];,
}
已推 viewController
- (BOOL)prefersStatusBarHidden{
return NO;
}
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[self.navigationController setNavigationBarHidden:NO animated:animated];,
}
如果两个页面 statusBarHidden 都等于 NO 或 YES,此方法有效,但当我禁用其中一个时,会出现问题。由于我的声誉很低,我无法上传图片,请检查 link 以获取图片。
https://www.facebook.com/photo.php?fbid=154038544933435&set=a.154038594933430.1073741827.100009818700445&type=1&theater
实施 prefersStatusBarHidden
应该可以解决问题。无需覆盖 viewWillAppear:animated
,因为 iOS 会自动从一个状态栏状态切换到下一个状态。
请务必将 Info.plist 中的 "View controller-based status bar appearance" 设置为 YES。
就导航栏而言。如果您使用故事板并使用 Segueues,您可以从一个导航控制器转换到另一个。如果导航控制器 A 有一个可见的导航栏,而导航控制器 B 有一个隐藏的导航栏,iOS 将自动为您动画导航栏。
你应该使用这个它对我的 Tab 手势有效
NSTimer *timer;
if([UIApplication sharedApplication].statusBarHidden == YES)
{
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationSlide];
timer= [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(hideStatusbar) userInfo:nil repeats:NO];
}
调用方法
-(void)hideStatusbar
{
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
}
我想在页面切换时禁用导航栏动画。,
root viewController
- (BOOL)prefersStatusBarHidden{
return YES;
}
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[self.navigationController setNavigationBarHidden:YES animated:animated];,
}
已推 viewController
- (BOOL)prefersStatusBarHidden{
return NO;
}
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[self.navigationController setNavigationBarHidden:NO animated:animated];,
}
如果两个页面 statusBarHidden 都等于 NO 或 YES,此方法有效,但当我禁用其中一个时,会出现问题。由于我的声誉很低,我无法上传图片,请检查 link 以获取图片。 https://www.facebook.com/photo.php?fbid=154038544933435&set=a.154038594933430.1073741827.100009818700445&type=1&theater
实施 prefersStatusBarHidden
应该可以解决问题。无需覆盖 viewWillAppear:animated
,因为 iOS 会自动从一个状态栏状态切换到下一个状态。
请务必将 Info.plist 中的 "View controller-based status bar appearance" 设置为 YES。
就导航栏而言。如果您使用故事板并使用 Segueues,您可以从一个导航控制器转换到另一个。如果导航控制器 A 有一个可见的导航栏,而导航控制器 B 有一个隐藏的导航栏,iOS 将自动为您动画导航栏。
你应该使用这个它对我的 Tab 手势有效
NSTimer *timer;
if([UIApplication sharedApplication].statusBarHidden == YES)
{
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationSlide];
timer= [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(hideStatusbar) userInfo:nil repeats:NO];
}
调用方法
-(void)hideStatusbar
{
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
}