《iOS 三问》 -- 解决 web 页面在 WebView 中不能捏合缩放的问题
今天突然发现我的博客在手机浏览器里居然不能缩放,导致一些图片在手机上显示得较小根本看不清,经过一翻搜索,原来是页面 html 中的 meta 没有写相应的 scale 参数导致。
《iOS 三问》 -- iOS 动画之 View 动画
iOS 的动画实质上是在 CALayer 上实现的,但是在 UIView 上也提供了对底层动画的封装,使得我们可以很方便地直接对 UIView 进行一些简单的动画。使用 UIView 提供的动画机制,可以作用于这些属性上:alpha,backgroundColor,bounds,center,frame,transform。
《iOS 三问》 -- iOS 动画概述
《iOS 三问》 -- CALayer 基础
本章将介绍 iOS UI 编程的一个重要角色 CALayer,它是 UIView 即 iOS 各种控件之所以能显示在界面上的基础,负责把 View 绘制出来。
CALayer 的前缀 CA,就是 Core Animation,会让人感觉 CALayer 这个类主要是用来做动画的。但是实质上就 CALayer 这个类来说,其主要职责还是绘制界面(当然通过我们后面的介绍大家对整个 Core Animation 包掌握之后,就会了解到 UI 绘制其实是动画实现的基础)。所以,当我们学习 CALayer 时,主要精力还是先放在其绘制界面上来。
我为什么这么说呢,其实还是可以解释一下的。因为它是从一个叫做 Layer Kit 这么一个不怎么和动画有关的名字演变而来,可见其之前是专注于图层绘制的。
- 绘图、布局、动画
我们之前说过,对于 UI 系统的视觉方面,我们可以从 “绘图、布局、动画” 几个维度进行学习。而 CALayer,就是一个涵盖了这几个维度的在 iOSUI 编程方面有重要地位的工具。
《iOS 三问》 -- iOS 系统的交叉编译
本教程主要是记录怎样在 iPhone 越狱手机上,由 c 源码或 oc 源码编译出来命令行程序并运行之。
为什么我们要自己手动编译源码并在越狱 iPhone 手机上执行?
- 用于研究使用,方便我们剖析 Mach-o 结构程序及其方面的知识;
- 方便我们自己制作工具为平时工作提供便利;
- 等等(暂时还没想到,哈哈
@_@
)
PS: 后面有空的话我可以会补充下怎样直接在 iPhone 上安装 Vi+Clang 自己实现代码的编辑加编译~这样就可以直接在手机端操作了,敬请期待。
《iOS 三问》--#define 用法大全
OC 的 #define
命令与在 C 语言中的非常相似,是一个预处理命令,其作用是在编译之前对你的代码进行预处理,使用在 define
中定义的字符串 value 来替换你要替换的字符串 key, 其形式如:
1 | #define KEY value |
这里要注意几点:
#define 预处理命令
顾名思义,是在编译前工作的,所以其优先高于各种编译期间指令,而且享受不到编译器强大的错误提示(所以使用它要格外小心);- 像上面**#define 使用格式**,要注意你的 key 与 value 都不要有空格(除非是字符串用引号括住了);
- KEY 一般使用全大写加下划线组合,至少首字母要大写,这样别人在代码人能一眼看出这是个宏。