记一次Theos开发Tweak

最近在看《iOS逆向工程》,本篇是对Theos安装以及部署deb安装包到手机上的记录以及安装过程中遇到的坑。

Read more   2018/1/17

iOS实现夜间模式

本文实现思路主要参考了这里,大概就是为日间模式与夜间模式各提供一份资源文件,资源文件中包含颜色值与图标名,切换主题加载相应主题的资源并刷新页面的控件即可,这和实现国际化有点类似。

Read more   2018/1/1

阅读类APP涉及的技术

飞地是一款诗歌轻阅读产品,在技术选型时内容的载体采用了HTML,这样内容可以适用于全平台显示。

轻阅读是从技术角度分析的,因为没有像微信读书这类应用有长篇文字的书籍,需要实现各种PDF和ePub格式解析以及排版,我们只需要用UIWebView即可解决。

Read more   2017/12/19

MacBook Air内置显示器旋转Bug

昨天双11买了台DELL的显示器,晚上到了之后兴奋地想体验下竖屏撸码,于是在Air的桌面操作了 设置 -> 显示器 -> 缩放 -> 旋转90度(注意,我操作的是Air的桌面显示器设置,应该操作外接显示器中显示的窗口),之后外接显示屏没有旋转,Air的桌面旋转了,于是就悲剧了,退出设置后重新点显示器,显示 未能载入偏好设置面板 显示器错误,此时Air屏幕也是旋转的,如下。。。。

Read more   2016/11/12

3D Touch大法

Read more   2016/9/11

#技巧4# 设置statusBarStyle无效

2015/11/18

#技巧3# postNotificationName触发后的监听代码是同步还是异步执行的?

2015/11/17

#技巧2# 强制旋转应用当前屏幕

2015/10/31

#技巧1# iOS8以后presendViewController透明效果无效

iOS弹出的视图背景默认是黑色,如果想去掉,以往我们使用 self.modalPresentationStyle = .CurrentContext 就可以实现效果,如以下半透明的代码

let vc = UIViewController()
vc.view.backgroundColor = UIColor(red: 0.000, green: 0.000, blue: 0.000, alpha: 0.5)
self.modalPresentationStyle = .CurrentContext
self.presentViewController(vc, animated: true, completion:  nil)

但是你会发现这段代码在iOS8、iOS9上面运行依旧一片黑,因此iOS8以后得这么干

let vc = UIViewController()
vc.view.backgroundColor = UIColor(red: 0.000 , green: 0.000 , blue: 0.000, alpha: 0.5)
if let version = Float(UIDevice.currentDevice().systemVersion) where version >= 8 {
    vc.modalPresentationStyle = .OverCurrentContext //注意此处是弹出VC对象,不是self
} else {
    self.modalPresentationStyle = .CurrentContext
}
self.presentViewController(vc, animated: true, completion: nil)

iOS8后增加了OverCurrentContext取代CurrentContext,并且设置的对象是弹出的VC

2015/10/10

iOS国际化

Demo同步更新到Swift2.3

在真正将国际化实践前,只知道通过NSLocalizedString方法将相应语言的字符串加载进来即可。但项目的新需求增加英文版本,并支持应用内无死角切换~,这才跳过各种坑实现了应用内切换语言,并记录至此。

Read more   2015/10/4