博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【iOS开发】修改 present 出来的 ViewController 状态栏颜色
阅读量:7088 次
发布时间:2019-06-28

本文共 1190 字,大约阅读时间需要 3 分钟。

在开发的过程中,如果我们需要给用户提供一个浏览器功能的支持、又或者需要让用户来从系统相册挑选图片,那么利用 UIKit 给我们提供的现成的 SFSafariViewController 和 UIImagePickerController 将是非常方便的事情,但是

let pc = UIImagePickerController()    let sf = SFSafariViewController(URL: NSURL(string:""))

像这样用一行代码来创建 ViewController,使我们丧失了进入这个 ViewController 的内部去调节一些东西的机会。

比如说我们整个App都是采用的白色状态栏,而 SFSafariViewController 和 UIImagePickerController 都是默认背景为白色的(即需要一个黑色状态栏,否则用户看不清内容),这时候我们需要一个默认自身的状态栏永远为黑色的 SFSafariViewController 或 UIImagePickerController

下面以 UIImagePickerController 为例给出一种解决方案。

class CustomImagePC: UIImagePickerController {        override func viewDidLoad() {        super.viewDidLoad()        UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.Default, animated: true)    }    override func didReceiveMemoryWarning() {        super.didReceiveMemoryWarning()    }    override func viewWillDisappear(animated: Bool) {        UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.LightContent, animated: true)    }    }

如上所示,创建了一个自定义的 UIImagePickerController ,代码里面设定了:这个页面被加载之后,状态栏设置为黑色,页面即将消失时,状态栏再转为白色。调用的时候,直接

let pc = CustomImagePC()

SFSafariViewController 同理,当然你也可以在这些代码里插入其他内容,如果你想更高程序地定制一个 UIImagePickerController 的话。

转载地址:http://szbql.baihongyu.com/

你可能感兴趣的文章
alchim31压缩js和css文件
查看>>
J2EE 之二------------------- Servlet
查看>>
python argparse
查看>>
美团客户端响应式框架 EasyReact 开源啦
查看>>
前有BAT,后出独角兽,第二梯队很焦虑
查看>>
煲仔饭与软件测试
查看>>
ORACLE同义词总结
查看>>
在linux下安装android以及C/C++开发环境
查看>>
分享:【视频:淘宝手机生活节测试分享】
查看>>
idea maven 新建多模块项目
查看>>
Sqlserver 过期
查看>>
vs2013新建文件自动保存为utf-8编码
查看>>
用系统命令加载磁盘 (隐藏文件) "学习资料"放的再深也不怕
查看>>
mysql忘记没密码
查看>>
nsq服务器安装使用与golang客户端使用
查看>>
kubernetes1.5新特性(二):支持Photon卷插件
查看>>
Navicat 10 for MySQL 注册码
查看>>
单例模式 事例操作 最喜欢枚举类型单例模式
查看>>
记录一次linux线上服务器被黑事件
查看>>
gitlab ssh key
查看>>