#pragram预处理指令
- #pragram mark
代码逻辑分块
常用快捷键
- 查看文档说明
选中要查看的api,按住option+左键:
- 注释
cmd + /
框架
- Masonry
autolayout http://adad184.com/2014/09/28/use-masonry-to-quick-solve-autolayout/ ### 使用注意 + 案例 make.left.equalTo(self.contentView).offset(12); make.top.equalTo(self.contentView).offset(18); make.size.width.mas_equalTo(32); make.size.height.mas_equalTo(32); 每个属性设置都单独写;因为是链式语法,如果所有属性的配置都放在一起感觉后面的设置会覆盖前面的设置。 + 居中
make.center + 垂直居中 > make.centerY + 水平居中 > meke.centerX
工具
- cocoapods
程序依赖管理 http://blog.devtang.com/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/
- Sketch
http://xclient.info/s/sketch.html?_=f4b9875cb3f64933e7149aa2d7a5060e
- Git
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001373962845513aefd77a99f4145f0a2c7a7ca057e7570000
- SourceTree
https://www.sourcetreeapp.com
控件
- UIImageView
http://blog.sina.com.cn/s/blog_9c2363ad0101e15l.html
- 圆形ImageView imageView.layer.cornerRadius = imageView.frame.size.with/2; //设置半径为宽度的一半 imageView.layer.masksToBounds = YES; //隐藏掉被遮挡的内容;
- UITableView
https://www.kancloud.cn/digest/ios-1/107419
- 设置UITableViewDelegate,试图加载委托
- 设置UITableViewDataSource,数据绑定
- 可以自定义Cell,需要继承UITableViewCell
- 坑: Q:使用Section实现“历史消息”,将TableView的Style设置Group,分别重写HeightForFooter,heightForHeader,ViewForHeader后,section之间出现了一个分割; A:重写ViewForFooter后,将改方法的返回值设为nil,分割就取消了;
- scrollView每次滑动后会回调layoutSubViews方法
- UITextView
类似于Android里面的EditText
- UILabel
文本
- 富文本
https://www.jianshu.com/p/5d24d22f99c3
- UIButton
- UIAlertController
- UIView
将父View的高度设置为0后,但是子view的高度仍然不变且正常显示,此时要对父view进行裁剪使得子View消失。即要设置父 view的clipsToBounds = YES;
API
- UIFont
设置文本字体
- UITableViewDelegate
- UITableViewDataSource
异常
- 编译失败,符号冲突
由于import了.m文件,导致;import .h文件后编译成功;
- unrecognized selector sent to instance
给nil对象发送了消息
- 自定义的UITableViewCell没有被UI TableView调用
需要调用UITableView的registerClass方法注册自定义的cell
- NSInternalInconsistencyException
reason: 'couldn't find a common superview for <UITextView: 0x7fdb4d015200; 原因:是在设置view的约束前没有调用addSubView方法将view添加到parent view中。 解决办法:是在view初始化完成后调用parentview的addsubview方法;
TODO
- js在微信、微博、QQ、Safari唤起App的解决方案
https://segmentfault.com/a/1190000012940046