Ios 如何在动画块中的自定义转换期间更改UIStatusBar文本的颜色?
客户点击标题标识(“a”): 现有视图被新视图向下推: 然后,要撤消此操作,客户只需再次点击标题徽标 我遇到的问题是,当导航栏和视图被新视图按下时,我的状态栏文本仍为黑色 我在动画中尝试了一些东西,但没有任何效果Ios 如何在动画块中的自定义转换期间更改UIStatusBar文本的颜色?,ios,objective-c,cocoa-touch,uinavigationcontroller,uistatusbar,Ios,Objective C,Cocoa Touch,Uinavigationcontroller,Uistatusbar,客户点击标题标识(“a”): 现有视图被新视图向下推: 然后,要撤消此操作,客户只需再次点击标题徽标 我遇到的问题是,当导航栏和视图被新视图按下时,我的状态栏文本仍为黑色 我在动画中尝试了一些东西,但没有任何效果 [container addSubview:move]; [UIView animateWithDuration:1 delay:0 usingSpringWithDamping:1 initialSpringVelocity:30
[container addSubview:move];
[UIView animateWithDuration:1 delay:0
usingSpringWithDamping:1 initialSpringVelocity:30
options:0 animations:^{
[move setFrame: [toVC isBeingPresented] ? endFrame : toBeginFrame];
[[[self navigationController] view] setFrame:CGRectMake(0, 350, 320, 640)];
self.navigationController.navigationBar.barStyle = UIBarStyleBlack; // [self preferredStatusBarStyle];
[self setNeedsStatusBarAppearanceUpdate];
}
completion:^(BOOL finished) {
[transitionContext completeTransition: YES];
}];
不知道该怎么处理。黑色文本无法与灰色背景很好地融合,因此我需要在按下导航栏和视图时将文本变为白色
非常感谢您的解决方案
亲切问候在“to”视图控制器中,即黑色背景的控制器中,您需要实现preferredStatusBarStyle
应该是这样的:
- (UIStatusBarStyle) preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
这应该是你需要做的全部。显示视图控制器时,将自动调用该方法并使用该方法转换为新样式。您还需要在显示的视图控制器上将
modalPresentationCapturesStatusBarAppearance
设置为YES
。在初始化时执行此操作。