小码哥朝花夕拾

  • 标示符__func__的内容是当前编译代码的函数名

  • 为什么UI控件要用weak?因为当ui控件添加到父控件中时,父控件的subviews数组会有强指针指向这个对象,就可以保证这个对象不会被销毁,再搞一个属性引用这个对象,用弱引用就可以了。这样在UI控件对象从其父控件移除时指向他的弱指针也会释放。如果用强指针,那么指向控件的内存空间不会被释放,那么就会内存泄漏。

  • 了解 UIControl

  • [self.view viewwithtag:];

  • 图片放在文件根目录下和放在Assets.xcassets下的区别?Assets无法通过imagewithcontentsofFile来加载图片,因为拿不到路径。放在Assets中的图片最后会压缩在Assets.car中。

  • imageNamed:内存无法清理,用地址加载的图片,内存 可以清理。

  • 通过toolbar添加毛玻璃效果。

  • 32位颜色值 18位 12位

  • [uibutton buttonwithtype:]

  • 懒加载

  • layoutSubviews方法,用于布局子控件(可以拿到frame)。需要调用[super layoutSubviews]

  • 创建对象用initinitwithframe方法都会调用initwithframe方法,所以只需要实现后者即可。

  • xib加载方式[nsbundle mainbundle]loadnibnamed

  • 如果view从xib中加载,就会调用initwithcoder:方法(当解析一个文件的时候会调用)

  • 如果子控件是从xib中创建,是处于未唤醒状态,如果要操作其中的view,例如添加子控件,需要调用方法awakeFromNib。该方法会在xib被加载完成后调用

  • 重写button使得它的图片和名字位置改变,可以重写titleRectForContentRect或者可以在layoutSubviews中修改子控件的位置。

  • 分类写一个image的图片拉伸保护。

  • 利用kvc修改对象的私有变量的值。

  • kvo [对象 addobserver]添加监听

  • 代理声明为weak是为了解决循环引用

  • scrollview做内容缩放,1.实现代理viewForZoomingInScrollView 2.设置缩放比例maximumZoomScale和minimumZoomScale
    *[self.scrollView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)]让所有对象执行这个方法

    小码哥朝花夕拾_第1张图片
    暴风截图2016113017562296.jpg

  • 设置tableview估算高度,能够使得首次进入时,调用tableview的高度代理方法次数减少。且会先调用创建方法,再调用高度方法。

  • iOS8之前手动设置cell高度时,需要手动设置文字的最大宽度,但是这个值只需要设置一次,所以可以在cell的-awakeFromNib方法中设置这个参数。

  • 建立一个宏,只在debug的情况下输出打印。

  • 在pch文件中加上#ifdef OBJC 这样在导入.c文件时,才不会因为在.c中引用oc的库而报错。

  • +(void)load当类被加载到内存当中就会调用此方法。可用于创建单例,即在一运行程序时候就创建。

  • 从iOS7开始,系统提供了两种管理状态栏的方式:
    1.通过UIViewController管理每一个页面的状态栏。
    -preferredStatusBarStyle
    -prefersStatusBarHidden
    2.通过UIApplication管理,即统一管理。

  • UIApplication单例,可以管理网络状态,app旁的红色小图标,状态栏,打开一个网页等。

  • -loadView方法的作用。好处是什么?想想xib直接创建一个tableview是怎么实现的?

    小码哥朝花夕拾_第2张图片
    暴风截图201612410081798.jpg

  • transform属性了解

  • UITouch用于记录触摸的位置,时间,阶段。

  • NSSet和NSArray类似,前者无序。

  • 如果父控件不能接触触摸事件。那么子控件也不能

  • -setNeedsDisplay重绘系统自动帮你调用drawRect,并且创建上下文

  • CADisplayLink 是的setNeedsDisplay和drawRect在同一时间调用。
    *对比UIView和CALayer,前者可以响应事件,因为继承UIRespond

  • 读文章《自增ID配置》

你可能感兴趣的:(小码哥朝花夕拾)