改变状态栏和导航栏的透明度
2015-07-13 19:58
459 查看
如何实现这个半透明效果呢?
步骤一:
为UIImage类添加静态方法:
该方法接受一个UIColor对象,然后返回一个该颜色的UIImage对象。
步骤二:
创建一定透明度的UIColor
#000为黑色,这里设置黑色的透明度为0.5。
步骤三:
设置状态栏和导航栏的透明度:
动态改变该透明度可以通过UIScrollViewDelegate来实现:
func scrollViewDidScroll(scrollView: UIScrollView) {
// 监听UIScrollView的属性contentOffset。
if scrollView.contentOffset.y > 100 {
// ...
}
}
注:此方法只适用于iOS7及以上。
步骤一:
为UIImage类添加静态方法:
extension UIImage { static func imageWithColor(color: UIColor) -> UIImage { let rect = CGRect(x: 0, y: 0, width: 1, height: 1) UIGraphicsBeginImageContext(rect.size) let context = UIGraphicsGetCurrentContext() CGContextSetFillColorWithColor(context, color.CGColor) CGContextFillRect(context, rect) let image = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() return image } }
该方法接受一个UIColor对象,然后返回一个该颜色的UIImage对象。
步骤二:
创建一定透明度的UIColor
let semiBlackColor = UIColor(red:0,green:0,blue:0,alpha:0.5)
#000为黑色,这里设置黑色的透明度为0.5。
步骤三:
设置状态栏和导航栏的透明度:
navigationController?.navigationBar.setBackgroundImage(UIImage.imageWithColor(semiBlackColor), forBarMetrics: .Default) navigationController?.navigationBar.translucent = true // 一定要设置为true
动态改变该透明度可以通过UIScrollViewDelegate来实现:
func scrollViewDidScroll(scrollView: UIScrollView) {
// 监听UIScrollView的属性contentOffset。
if scrollView.contentOffset.y > 100 {
// ...
}
}
注:此方法只适用于iOS7及以上。
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- Apple Swift学习教程
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 让IE ff Opera同时支持Alpha透明的方法
- js实现鼠标划过给div加透明度的方法
- flex4 panel去掉标题设置透明度效果代码
- js加入收藏以及使用Jquery更改透明度
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- Swift中实现点击、双击、捏、旋转、拖动、划动、长按手势的类和方法介绍
- Swift中定义二维数组的方法及遍历方法示例
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?
- android 对话框弹出位置和透明度的设置具体实现方法