一、正则表达式知识
1.1 基本概念
1.1.1 元字符(相当于类型)
包括 \b :单词分隔符
\d :单个数字
^: 字符串开始
$: 字符串结束
. : 单个任意字符
1.1.2 控制字符
*:重复前导表达式任意次数
+:重复前导表达式>= 1次
?:重复前导表达式0次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次
1.1.3 集合
[]:类似enum,取集合中的任意一个,例如[aeiou]代表任意一个元音
1.1.4 控制流
| : 或条件 \(\d{4}\) | \d{3}-\d{2} 表示 (0133) 或 021-84这样的字符串 本符号分隔的是表达式,而不是单个字符 例如 2[0-4]\d | 25[0-5] | [01]?\d?\d 就表示了 0 - 255的数字集合
():用于指定分组(子表达式),就是一串符合特定条件的字符
1.1.5 引用 获取匹配子表达式的文本,并 todo
注意:1、如果要查找元字符本身,得转义,例如: \d -> \\d,就像 const 和 "const"的区别
^: 反义,获取除特定元素之外的元素集合。例如 [^aeiou]匹配除了aeiou这五个字符外的任意单个字符
2、不要用空格来填充空隙,因为空格本身也是字符
3、应用举例,省市区编号,均为6位,省为XX0000,(XX为两位的非00数字)则表达式可以用|来做
^([1-9]{2}|0[1-9]|[1-9]0)0000$,
二、富文本
富文本属性是dictionary,key为属性的名称,value为属性的值
常用属性
NSFontAttributeName(字体)
NSParagraphStyleAttributeName(段落)
NSForegroundColorAttributeName(字体颜色)
NSBackgroundColorAttributeName(字体背景色)
NSKernAttributeName(字间距)
记忆方法:key以AttributeName做结尾,前面是属性名称(一般都以NS开头)
使用举例:
// 设置标题字体
NSDictionary *attrDict1 = @{ NSForegroundColorAttributeName: [UIColor whiteColor], // 字色为白
NSFontAttributeName:[UIFont boldSystemFontOfSize:18] // 字体为系统18号粗体
};
三、为view设置边框样式
view.layer.masksToBounds = YES;
// 设置圆角
view.layer.cornerRadius = self.typeLable.frame.size.height/2;
// 设置边框颜色,这里的color要用 CGColor
view.layer.borderColor = [UIColor redColor].CGColor;
// 设置边框宽度
view.layer.borderWidth = 1;
小结:这种圆角带边框的view是当前比较受欢迎的样式,不但是view,view的继承类也可以这么设置
四、 MVC分离的小技巧
对多处页面调用的view(xib),可以单独写view,然后在control里调用,比如输入框
view自己需要实现的是控件的set get方法和样式的初始化
让control调用它,让control做业务逻辑就行
五、用view来实现画线
5.1 自定义一个UIView的子类
todo…………