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 原因:是在设置view的约束前没有调用addSubView方法将view添加到parent view中。
    解决办法:是在view初始化完成后调用parentview的addsubview方法;

TODO

  • js在微信、微博、QQ、Safari唤起App的解决方案

    https://segmentfault.com/a/1190000012940046