uitextfield选择更改状态栏颜色

时间:2014-02-04 09:09:06

标签: ios iphone objective-c uitextfield uistatusbar

我找不到UITextField(或UIStatusBar)的错误。

在我的

- (BOOL)application:(UIApplication *)application 
        didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

我有:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

另外在我的视图控制器中我有这个:

-(UIStatusBarStyle)preferredStatusBarStyle{
    return UIStatusBarStyleLightContent;
}

UIStatusBar的颜色总是白色,因为我希望它是。但每当我选择UITextField时,它的颜色会变为黑色。我不希望这样,我总是希望它是白色的。

奇怪但我在网上找不到任何类似的问题,所以我希望得到你的帮助。任何帮助表示赞赏。提前谢谢!

4 个答案:

答案 0 :(得分:1)

如果您始终希望UIStatusBarwhiteColor一样,请插入您在didFinishLaunching

中的行
[[UIApplication sharedApplication]
   setStatusBarStyle:UIStatusBarStyleLightContent];

并且还为info.plist中的状态栏设置了一个值,如此

enter image description here

如果您想更改单个控制器的颜色,只需在preferredStatusBarStyle内设置UIViewController

答案 1 :(得分:0)

只需在plist文件中将UIViewControllerBasedStatusBarAppearance设置为 YES 即可 并且viewDidLoad方法[self setNeedsStatusBarAppearanceUpdate];也可能适合您。

答案 2 :(得分:0)

在plist中将UIViewControllerBasedStatusBarAppearance设置为YES

在viewDidLoad中执行[self setNeedsStatusBarAppearanceUpdate];

添加以下方法:

-(UIStatusBarStyle)preferredStatusBarStyle{ 
  return UIStatusBarStyleLightContent; 
}

答案 3 :(得分:0)

好的,这一定不会发生,所以我不认为需要一次又一次地设置UIStatusBarStyle ......你能不能提供一些关于你的UITextField的更多信息?