是否可以将状态栏文本和电池图标更改为特定颜色,例如红色?
我已经阅读了一些关于此的文章,建议我使用setStatusBarStyle.但我没有选择设置特定的颜色.
那么,有可能这样做吗?提前致谢
编辑:
我试图在苹果开发论坛找到答案,但不幸的是我找不到它.iOS7中UIStatusBar的可用颜色为黑色和白色.
也许你可以尝试下面的Sulthan的帖子,但似乎并不容易,至少对我而言.似乎只需要简单的换色就需要这么多的努力.所以我认为这是不可能的,至少在简单方面是这样.
无论如何,谢谢你帮助我:)
我一直在寻找答案,但我只找到了有类似问题的人而不是这个问题,所以希望有人可以帮助我!
我有一个iPad应用程序.在iPad上,当您以纵向或横向方式握住iPad时,始终会显示带有时钟和电池的状态栏.出于这个原因,我的一些View控制器顶部有一些自定义工具栏,占据了这20个点.
我正在努力使我的应用程序具有普遍性.我注意到的第一件事是当iPhone在纵向模式下提供帮助时会显示状态栏,但是当它以横向模式保持时,状态栏会隐藏,现在我有一个20点太高的工具栏.
我总是隐藏或总是显示状态栏我不感兴趣.我认为在手机上将其隐藏在横向模式下的功能很好.我想要做的是能够检测状态栏何时被隐藏,以便我可以调整我的工具栏的Y位置(所以使其为0或-20).一个更好的解决方案是,如果我有办法设置我的布局约束来处理这种情况.
我的视图控制器层次结构是SWRevealViewController-> UINavigationViewController-> MyController1。MyController1礼物MyController2使用self.present。MyController2不在内部UINavigationViewController并且演示文稿是模态的(设备是 iPhone)。In viewWillAppearof MyController2I call self.setNeedsStatusBarAppearanceUpdate(),但从preferredStatusBarStyle未被系统调用,状态栏外观保持不变(就像MyViewController1)。我在这里错过了什么吗?
编辑
info.plist将基于视图控制器的状态栏外观设置为YES
当我用UIView覆盖所有屏幕时,如何用UIView覆盖UIStatusBar?
我有一个通用iOS应用程序,我希望状态栏(UIStatusBar)在iPad上安装应用程序时显示,而不是在iPhone上安装时显示.
目前我的解决方案是将app-info.plist中的UIStatusBarHidden设置为true(这会影响两个版本),然后在应用程序中重新启用它:didFinishLaunchingWithOptions:如果设备是iPad.这种方式有效,但我希望状态栏在应用程序仍在加载(显示默认屏幕)时显示,而不是iPhone.
有没有办法实现这个目标?(我尝试添加一个iPad特定的键/值UIStatusBarHidden~ipad但是没有用)
嗨过去我开发了一个支持IOS6的应用程序.现在是时候来支持IOS7的同一个应用了.为了支持IOS6和IOS7的应用,我增加了Y每个组件的价值20 pixels.
在这里,我通过使用[[[UIDevice CurrentDevice]SystemVersion] floatvalue];method 获取操作系统版本.基于该操作系统版本,我正在更改rect每个组件的值.
为了处理StatusbarStyle我在IOS7中使用以下方法
1. [self setNeedsStatusBarAppearanceUpdate];
2.-(UIStatusBarStyle)preferredStatusBarStyle;
Run Code Online (Sandbox Code Playgroud)
这些方法在IOS7中运行良好,但如果我在IOS6中安装该应用程序,则由于上述两种方法,应用程序崩溃.
所以现在我的要求是我必须隐藏或不执行IOS7设备中的IOS7相关方法或更改.借助此实现,我希望我能解决这个问题.
即使我使用了几种方法来解决这个崩溃问题.我使用的方法是
1. #if __IPHONE_OS_VERSION_MAX_ALLOWED== 70000
2.#if __IPHONE_OS_VERSION_MIN_REQUIRED==70000
Run Code Online (Sandbox Code Playgroud)
在创建ipa文件部署时,我设置的目标是6.0.因为我必须支持IOS6和IOS7.
所以请帮我解决这个问题.提前致谢.
我想将状态栏颜色设置为与导航栏相同的颜色。当我尝试将导航栏和状态栏设置为相同的颜色时,导航栏总是以比状态栏更浅的颜色显示。
这就是我要的:
我的结果:
AppDelegate中的代码:
状态栏:
UIApplication.sharedApplication().statusBarStyle = .Default
let statusBar: UIView = UIApplication.sharedApplication().valueForKey("statusBar") as! UIView
if statusBar.respondsToSelector(Selector("setBackgroundColor:"))
{
statusBar.backgroundColor = UIColor(red: 43/255.0, green: 79/255.0, blue: 133/255.0, alpha: 1.0)
statusBar.tintColor = UIColor(red: 43/255.0, green: 79/255.0, blue: 133/255.0, alpha: 1.0)
}
Run Code Online (Sandbox Code Playgroud)
导航栏:
UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]
UINavigationBar.appearance().backgroundColor = UIColor(red: 43/255.0, green: 79/255.0, blue: 133/255.0, alpha: 1.0)
UINavigationBar.appearance().tintColor = UIColor.whiteColor()
UIApplication.sharedApplication().statusBarHidden = false
UIApplication.sharedApplication().statusBarStyle = .Default
Run Code Online (Sandbox Code Playgroud)
谁能给我关于如何解决这个问题的任何建议。
提前致谢!
默认情况下,启动屏幕提供状态栏。是否可以在启动屏幕中隐藏状态栏,例如Twitter应用程序(iOS)。
我有一个通用的UIViewController,我想在其中隐藏状态栏.我有更多的视图控制器应该显示状态栏,但是这个特定的视图控制器应该隐藏状态栏.
我在UIViewController类中实现了以下方法:
override func viewDidLoad() {
super.viewDidLoad()
// FIXME: hide status bar
var prefersStatusBarHidden: Bool {
return true
}
setNeedsStatusBarAppearanceUpdate()
}
override func viewWillAppear(_ animated: Bool) {
UIApplication.shared.isStatusBarHidden = true
}
override func viewWillDisappear(_ animated: Bool) {
UIApplication.shared.isStatusBarHidden = false
}
Run Code Online (Sandbox Code Playgroud)
在我的info.plist中,我设置了以下设置:
当我导航到该视图控制器并且仍然可见时,状态栏不会隐藏.
我的应用程序的启动屏幕具有深色背景颜色,因此我想在状态栏颜色显示时将其设置为白色.
这与如何更改状态栏样式 - iOS 12中的问题不同.一旦应用程序运行,该解决方案适用于视图控制器,但我找不到将其应用于启动屏幕的方法.
uistatusbar ×10
ios ×8
swift ×4
iphone ×2
autolayout ×1
ios6 ×1
ios7 ×1
ipad ×1
objective-c ×1
rotation ×1
screen ×1
statusbar ×1
swift3 ×1
uiview ×1