如何开启safari的safari夜间模式设置

您好,欢迎来到飞鸿商城!  
教你在iOS9 Safari中开启夜间模式
教你在iOS9 Safari中开启夜间模式
发布时间: | 来源:飞鸿商城 | 浏览:1900 | 标签: &&
&&&&&& Safari中没有自带夜间模式使很多用户大呼不方便,终于在iOS9中,苹果终于认识到了这个错误。对一些缺失的功能进行了补充,其中就加了入夜间模式尽管 iOS9 正式版要到秋季才正式发布,但不少急于尝鲜的朋友可能已经将自己的设备升级到 iOS9 测试版了,在 iOS9 之前苹果自带的 Safari 是不支持夜间模式的,那么如何在 iOS9 的设备中开启 Safari 的夜间模式呢?  如何在 Safari 的阅读视图中开启夜间模式:  1.打开你要在 Safari 中阅读的文章  2.如果该网页支持阅读视图模式,有一个多条横线的按钮会出现在 Safari 地址栏的左侧,点击它 && 3.现在你就进入了 Safari 的阅读视图模式(阅读视图模式简化了网页,隐藏了不必要展示的内容,例如广告、侧边栏项目)&&&&& 4.点击地址栏右侧的 AA 按钮,然后会呈现很多选项在你眼前,选择黑色即可进入夜间模式 除了背景颜色之外,你还可以在这里选择不同的字体或者颜色,iOS9 全新的阅读视图模式为用户提供了更多权限,那么现在你期待 iOS9、或者是增强后的 Safari 的到来吗?
关键字: &&
评论请使用文明用语,过激言论将不予显示。
yuanfen07 回复
cantong 回复
xiaowei95 回复
华为一直都做得挺不错的
xiaowei95 回复
6s的亮点3d touch和前置摄像头闪光,很中意,可以准备入手了
gangyu1 回复
价格应该是不会太高
olives 回复
玫瑰金好看
全国咨询订购电话
10:00 – 22:00(全年无休)
友情链接:DKNightVersion 的实现 --- 如何为 iOS 应用添加夜间模式 - 推酷
DKNightVersion 的实现 --- 如何为 iOS 应用添加夜间模式
在很多重阅读或者需要在夜间观看的软件其实都会把夜间模式当做一个 App 所需要具备的特性. 而如何在不改变原有的架构, 甚至不改变原有的代码的基础上, 就能为应用优雅地添加夜间模式就成为一个在很多应用开发的过程中不得不面对的一个问题.
就是以上事情的驱动, 使我思考如何才能使用一种优雅并且简洁的方法解决这一问题.
就是我带来的解决方案.
到目前为止, 这个框架的大部分的工作都已经完成了, 或许它现在不够完善, 不过我会持续地维护这个框架, 帮助饱受实现夜间模式之苦的工程师们解决这个
坑的一逼的
现在我也终于有时间来
写一篇博客来说一下这个框架是如何实现夜间模式的, 它都有哪些特性.
在很长的一段时间我都在想如何才能在不覆写
控件的基础上, 为 iOS App 添加夜间模式. 而
objc/runtime
为我带来了不覆写
就能实现这一目的的希望.
为 UIKit 控件添加
nightColor
因为我们并不会子类化 UIKit 控件, 然后使用
为它的子类添加属性. 而是使用 Objective-C 中神奇的分类(Category) 和
objc/runtime
, 为 UI 系列的控件添加属性.
objc/runtime
为分类添加属性相信很多人都知道而且经常在开发中使用了. 如果不了解的话, 可以看
DKNightVersion 为大多数常用的
backgroundColor
都添加了以
开头的夜间模式下的颜色,
nightBackgroundColor
nightTintColor
- (UIColor *)nightBackgroundColor {
return objc_getAssociatedObject(self, &nightBackgroundColorKey) ? :self.backgroundColor);
- (void)setNightBackgroundColor:(UIColor *)nightBackgroundColor {
objc_setAssociatedObject(self, &nightBackgroundColorKey, nightBackgroundColor, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
我们创建这个属性以保存夜间模式下的颜色, 这样当应用的主题切换到夜间模式时, 将
nightColor
属性存储的颜色赋值给对应的
, 但是这会有一个问题. 当应用重新切换回正常模式时, 我们失去了原有正常模式的
normalColor
为了解决这一问题, 我们为 UIKit 控件添加了另一个属性
normalColor
来保存正常模式下的颜色.
- (UIColor *)normalBackgroundColor {
return objc_getAssociatedObject(self, &normalBackgroundColorKey);
- (void)setNormalBackgroundColor:(UIColor *)normalBackgroundColor {
objc_setAssociatedObject(self, &normalBackgroundColorKey, normalBackgroundColor, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
但是保存这个颜色的时机是非常重要的, 在最开始的时候, 我的选择是直接覆写
方法, 在保存颜色之前存储
normalColor
- (void)setBackgroundColor:(UIColor *)backgroundColor {
self.normalBackgroundColor = backgroundC
_backgroundColor = backgroundC
然而这种看似可以运行的
其实会导致视图不会被着色, 设置
包括正常的颜色都不会有任何的反应, 反而视图的背景颜色一片漆黑.
由于上面这种方法行不通, 我想换一种方法使用观察者模式来存储
normalColor
, 将实例自己注册为
属性的观察者, 当
属性变化时, 通知 UIKit 控件本身, 然后, 把属性存到
normalColor
然而在什么时候将自己注册为观察者这一问题, 又使我放弃了这一解决方案. 最终选择
来解决原有
的存储问题.
使用方法调剂为原有属性的
方法添加钩子, 在方法调用之前, 将属性存储起来, 用于切换回
模式时, 为属性赋值.
调剂的钩子方法:
- (void)hook_setBackgroundColor:(UIColor*)backgroundColor {
if ([DKNightVersionManager currentThemeVersion] == DKThemeVersionNormal) {
[self setNormalBackgroundColor:backgroundColor];
[self hook_setBackgroundColor:backgroundColor];
如果当前是
模式, 就会存储
, 如果不是就会直接赋值, 如果你看不懂为什么这里好像会造成无限递归, 请看
, 详细的解释了方法调剂是如何使用的.
DKNightVersionManager 实现
我们已经为 UIKit 控件添加了
normalColor
nightColor
, 接下来我们需要实现
在这两者之间的切换, 而这
DKNightVersionManager
就是为了处理模式切换的类.
DKNightVersionManager
创建一个单例来处理
使用默认颜色
DKNightVersionManager
nightFalling
dawnComing
时, 我们首先会获取全局的
, 然后通过递归调用
changeColor
方法, 使能够响应
changeColor
方法的视图改变颜色.
- (void)changeColor:(id &DKNightVersionChangeColorProtocol&)object {
if ([object respondsToSelector:@selector(changeColor)]) {
[object changeColor];
if ([object respondsToSelector:@selector(subviews)]) {
if (![object subviews]) {
// Basic case, do nothing.
for (id subview in [object subviews]) {
// recursice darken all the subviews of current view.
[self changeColor:subview];
if ([subview respondsToSelector:@selector(changeColor)]) {
[subview changeColor];
因为我在这个类中并没有引入
, 编译器不知道
类型具有这两个方法. 所以我声明了一个协议, 使
changeColor
中的方法来满足两个方法
changeColor
. 不让编译器提示错误.
@protocol DKNightVersionChangeColorProtocol &NSObject&
- (void)changeC
- (NSArray *)
然后让所有的 UIKit 控件遵循这个协议就可以了, 当然我们也可以不显示的遵循这个协议, 只要它能够响应这两个方法也是可以的.
实现默认颜色
我们要在 DKNightVersion 实现默认的夜间模式配色, 以便减少开发者的工作量.
但是因为我们对每种
只在父类中实现一次, 这样使得子类能够继承父类的实现, 但是同样
不想让 UIKit 系子类继承父类的默认颜色
- (UIColor *)defaultNightBackgroundColor {
BOOL notUIKitSubclass = [self isKindOfClass:[UIView class]] && ![NSStringFromClass(self.class) hasPrefix:@&UI&];
if ([self isMemberOfClass:[UIView class]] || notUIKitSubclass) {
return UIColorFromRGB(0x343434);
UIColor *resultColor = self.normalBackgroundColor ?: [UIColor clearColor];
return resultC
isMemberOfClass:
方法来判断
实例是不是当前类的实例, 而不是该类子类的实例.
然后才会返回默认的颜色. 但是非 UIKit 中的子类是可以继承这个特性的, 所以使用这段代码来判断该实例是否是非 UIKit 的子类:
[self isKindOfClass:[UIView class]] && ![NSStringFromClass(self.class) hasPrefix:@&UI&]
NSStringFromClass(self.class) hasPrefix:@&UI&
巧妙地达到这一目的.
生成 Objective-C 代码
这个框架大多数的工作都是重复的, 但是我并不想为每一个类重复编写近乎相同的代码, 这样的代码十分不易阅读和维护, 所以使用了
文件, 来为生成的 Objective-C 代码提供模板, 只将原数据进行解析然后传入每一个模板, 动态生成所有的代码, 再通过另一个脚本将所有的文件加入目录中.
的实现并不复杂. 它不仅使用了
和 Ruby 脚本来减少了大量的工作量, 而且使用了
objc/runtime
的特性来魔改 UIKit 组件, 达到为 iOS 应用添加夜间模式的效果.
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致503: Service Unavailable
503: Service Unavailable
访问太频繁了,服务器要炸。为知笔记怎么快速开启夜间模式?
下面这个为知笔记怎么快速开启夜间模式?教程由图老师小编精心推荐选出,过程简单易学超容易上手,喜欢就要赶紧get起来哦!
top1:为知笔记怎么快速开启夜间模式?
&  1) 首先打开为知笔记,进入个人笔记的界面。然后在点击左边最上方的三横功能键。&  2) 进入功能界面后,在按三横左边的设置。&  3) 进入设置界面后,在设置找到摇一摇,点击开启。开启后,大家就可以一摇转换夜间模式了。&  4)设置完后,返回个人笔记的界面,摇动手机,界面下面会出现一个开启夜间模式按钮,点击即可开启夜间模式
热门搜索:
怎样关闭xp系统的错误提示报告
文件夹无法拖动怎么办 如何解决文件夹拖动不了的问题
PS相片处理效果 使用PS将冷色系效果处理成暖色系效果
使用PS制作QQ个性签名图片
”老板,这个肉回一下锅,这是回锅肉来“哈哈哈,这个笑话每一个爱吃回锅肉的朋友应该都听过吧。来看看美味的回锅肉怎么做吧。
有些人太胖想减肥,就会有些人因为太瘦而想增肥。那么对于相当瘦的人来讲,平时多吃什么食物才可以长胖呢?今天,请跟着我的脚步一起来看看吧。
想从根本上给头发最贴心的呵护,到底有什么好办法呢?以下几种食物就是问题解决的根本,如果你能耐心了解它们蕴含的营养,并且肯用食补这种细水长流的方式,当然,重要的还是坚持,补养头发的难题即可从本质上得到解决!
脚气是一种非常麻烦的事情,不仅影响到了人们的生活质量还会给自己的心情带来一定的影响。这对我们日常的工作还有生活带来了很大的不便,不免让人尴尬。那么如何有效去脚气呢?
阴阳师是一款热门的网络游戏,一上市就获取了大批的粉丝。在游戏中发现别的玩家都已经二十多级了,反观自己才四、五级,心里真不是滋味,那么要怎么升级呢?本文汇集了阴阳师目前获取经验的所有方法,开始疯狂刷级之路吧。
手机是我们日常生活中常用的通讯软件,我们每天都会玩上几个小时的手机,甚至更长,每天入睡前和早上醒来都会玩上一会儿手机,我想这也是大多数人的习惯。可是部分人的手机电池越来越不耐用,其实这是没有掌握手机充电的正确方法。下面就给大家来介绍手机充电的正确方法有哪些吧。
微博是我们现在相当流行的社交软件,现在大家也很喜欢用表情包进行交流,也已经成为了一种流行文化。最近微博也出了一组很可爱的表情包,下面就给大家来介绍微博新出的表情有哪些吧。
肚子上的赘肉看上去让人烦恼,尤其是对于想穿裙子的女生来说更是一件郁闷的事情。现在减肥的方法有很多,但是很多人并不知道专门瘦肚子的方法。那么,如何瘦肚子呢?下面就给大家介绍几种减肚子的方法吧。
炎夏烈日炎炎,就在你与阳光亲密接触时,也让紫外线有了可乘之机,有的时候,虽然你认真做了防晒的工作,却依旧没能躲过炙热的阳光,晒伤之后,要立马着手修复晒伤的肌肤,那么晒伤后怎么处理呢?下面就一起来看看吧。
脸上肉嘟嘟的女生和男生们是不是选择发型的时候很伤大脑。没关系,我们这里肯定有一款适合你的发型,本文也是大圆脸一枚,下面分享下我收集多年的圆脸女生男生发型以及学会的圆脸发型修饰技巧。
如果您有什么好的建议或者疑问,可以联系我们! QQ群: QQ号: 进群、加好友,备注:图老师 小周老师一一为您解答!让我们一起学习、一起进步 版权所有 (C) 2016 All Rights Reserved. 湘ICP备号
微信公众号最后登录15-5-11在线时间652 小时赞35 注册时间14-1-22积分2296帖子精华1UID559779
( ☆☆☆☆ )
注册日期: 14-1-22
帖子: 811|积分: 2296
赞助商广告
Chrome 38.0.2084.0
Mac OS X 10.9.4
本帖最后由 LukeJohnYoung 于 14-8-5 18:08 编辑
10.10 里面夜间模式的菜单栏受到很多人喜欢, 现在 10.9 的用户也不用羡慕了. 一个小工具 Obsidian Menu Bar 可以更改菜单栏为黑色, 看起来是不是很酷呢? 下面就是安装和卸载教程.
14-8-5 17:49:42 上传
我们可以到小工具的官方网站
下载. . 然后解压 zip 文档, 点击 黑色 O 图标 Install Obsidian Menu Bar, 输入管理员密码. 完成之后, 还要做两件事情. 第一是将 WhiteUIServer.menu 文件加入 系统设置 -& 用户 -& 启动项里面.
14-8-5 17:52:22 上传
第二就是, 在 系统设置 -& 桌面和屏幕保护 里面取消菜单栏半透明效果.
14-8-5 17:53:38 上传
然后重新登入, 就可以看到黑色的菜单栏了.
14-8-5 17:56:22 上传
Obsidian Menu Bar 自带了以下常用 Mac 软件的菜单栏图标的白色版本, 使用这些软件, 就不用担心黑色的图标在黑色菜单栏上完全看不见的窘境. 最省心的方法, 还是使用 Bartender 这个软件, .
14-8-5 17:57:27 上传
14-8-5 18:05:45 上传
最后说一下卸载方法. 双击白色 X 图标 Restore Default Menu Bar 即可. 然后将 WhiteUIServer.menu 删除并且清空垃圾箱, 并且在 系统设置 -& 用户 -& 启动项 里面删除这一项. 然后重新登入 OS X 系统就完成了.
14-8-5 18:08:21 上传
总评分:&苹果 + 4&
最后登录16-11-14在线时间4819 小时赞29 注册时间09-4-19积分5398帖子精华0UID99565
( ☆☆☆☆☆ )
分享于 14-8-5 18:42:21
Safari 8.0
Mac OS X 10.10
感谢分享!
最后登录16-8-2在线时间1110 小时赞1 注册时间11-4-27积分2400帖子精华0UID213828
( ☆☆☆☆ )
分享于 14-8-5 18:57:03
Safari 8.0
Mac OS X 10.10
啊哦 10.10有夜间模式 我赶紧百度补脑一下 多谢了
最后登录16-8-2在线时间1110 小时赞1 注册时间11-4-27积分2400帖子精华0UID213828
( ☆☆☆☆ )
分享于 14-8-5 19:05:54
Safari 8.0
Mac OS X 10.10
10.10的夜间模式找到了 在系统设置的通用里,要是能配合光线感应器自动切换就好了
14-8-5 19:04:53 上传
最后登录14-8-5在线时间0 小时赞0 注册时间14-8-5积分21帖子精华0UID610300
分享于 14-8-5 22:58:15
Safari 7.0
最后登录15-7-16在线时间112 小时赞0 注册时间10-5-22积分1417帖子精华0UID161631
( ☆☆☆ )
分享于 14-8-6 10:49:05
Chrome 30.0.
给你加个苹果
最后登录15-11-19在线时间140 小时赞0 注册时间14-7-24积分736帖子精华0UID607265
( ☆☆☆ )
分享于 14-8-9 15:51:45
Chrome 31.0.1650.48
好像很不错,赶紧用下试试
最后登录16-7-12在线时间2 小时赞31 注册时间05-4-22积分6498帖子精华0UID12
( 福利社会员 )
分享于 14-8-9 15:52:59
Safari 8.0
Mac OS X 10.10
这个不叫做夜间模式好不好.
叫做深色主题 哈哈.
最后登录16-10-27在线时间293 小时赞0 注册时间14-2-17积分366帖子精华0UID566052
分享于 14-8-9 16:23:03
Safari 7.0.5
Mac OS X 10.9.4
最后登录16-11-8在线时间280 小时赞0 注册时间12-7-18积分1073帖子精华0UID378359
( ☆☆☆ )
分享于 14-8-11 05:04:40
这叫夜间模式?

我要回帖

更多关于 mac safari夜间模式 的文章

 

随机推荐