项目总结-4

特定构造方法

  • 什么样的方法是特定构造方法?
    • 方法声明后面带有NS_DESIGNATED_INITIALIZER这个宏
  • 子类如果重写了父类的特定构造方法,那么必须使用super调用父类的特定构造方法.例如initWithFrame:必须要调用[super initWithFrame:frame],如果不调用,编译就会报警告
  • NS_DESIGNATED_INITIALIZERNS_REQUIRES_SUPER的区别
    • NS_DESIGNATED_INITIALIZER必须用super调用父类的一个方法,这个方法可以是与子类中不同名称的方法,调用后编译就不会报警告
    • NS_REQUIRES_SUPER则必须要调用父类中同名的方法

按钮的状态总结

 1.UIControlStateNormal
 1> 除开UIControlStateHighlighted、UIControlStateDisabled、UIControlStateSelected以外的其他情况,都是normal状态
 2> 这种状态下的按钮【可以】接收点击事件

 2.UIControlStateHighlighted
 1> 【当按住按钮不松开】或者【highlighted = YES】时就能达到这种状态
 2> 这种状态下的按钮【可以】接收点击事件

 3.UIControlStateDisabled
 1> 【button.enabled = NO】时就能达到这种状态
 2> 这种状态下的按钮【无法】接收点击事件

 4.UIControlStateSelected
 1> 【button.selected = YES】时就能达到这种状态
 2> 这种状态下的按钮【可以】接收点击事件

 二、让按钮无法点击的2种方法
 1> button.enabled = NO;
 *【会】进入UIControlStateDisabled状态

 2> button.userInteractionEnabled = NO;
 *【不会】进入UIControlStateDisabled状态,继续保持当前状态

彻底搞懂TableView的contentSize,contentOffset和contentInset

  • 什么是TableView的内容(content)?
    • 1.cell
    • 2.tableHeaderView 和 tableFooterView
    • 3.sectionHeader 和 sectionFooter
  • contentSize.height:指内容的高度
  • contentOffset.y:指内容的偏移量(tableView的frame的顶部内容顶部的差值,具体是哪个减哪个我忘了)
  • contentInset:内容周围的间距(内边距)
  • frame
    • frame.size.height:tableView可视范围矩形框的高度
    • frame:以父控件内容左上角为坐标原点
  • 10种情况下分析TableView的contentSize,contentOffset和contentInset

1~~~~~~~~~~~~~~~~~~~~~~~~

项目总结-4_第1张图片

2~~~~~~~~~~~~~~~~~~~~~~~~

项目总结-4_第2张图片

3~~~~~~~~~~~~~~~~~~~~~~~~

项目总结-4_第3张图片

4~~~~~~~~~~~~~~~~~~~~~~~~

项目总结-4_第4张图片

5~~~~~~~~~~~~~~~~~~~~~~~~

项目总结-4_第5张图片

6~~~~~~~~~~~~~~~~~~~~~~~~

项目总结-4_第6张图片

7~~~~~~~~~~~~~~~~~~~~~~~~

项目总结-4_第7张图片

8~~~~~~~~~~~~~~~~~~~~~~~~

项目总结-4_第8张图片

9~~~~~~~~~~~~~~~~~~~~~~~~

项目总结-4_第9张图片

10~~~~~~~~~~~~~~~~~~~~~~~~

项目总结-4_第10张图片

你可能感兴趣的:(项目总结-4)