• initWithFrame 和 initWithCoder


    当我们所写的程序里没用用Nib文件(XIB)时,用代码控制视图内容,需要调用initWithFrame去初始化

    - (id)initWithFrame:(CGRect)frame

    {

        if (self =[superinitWithFrame:frame]) {

            // 初始化代码

        }

        return self;

    }

    用于视图加载nib文件,从nib中加载对象实例时,使用 initWithCoder初始化这些实例对象

    - (id)initWithCoder:(NSCoder*)coder

    {

        if (self =[superinitWithcoder:coder]) {

            // 初始化代码

        }

        return self;

    }

     

    注意点:

    1、初始化方法实现中,须先调用父类的该方法

    2、代码创建视图的是【initWithFrame】,使用xib 和storyboard创建出来调用的是【initWithCoder】

    3、代码创建视图,如果调用的是init方法,那么init方法内部一定有调用【initWithFrame】

    4、重写view,自定义view,上面两个方法都要重写;

     

  • 相关阅读:
    bzoj 1503
    bzoj 1193 贪心+bfs
    bzoj 1798 线段树
    Codeforces 804D Expected diameter of a tree
    bzoj 1208
    bzoj 3224
    HDU 5115 区间dp
    hihocoder #1162 矩阵加速dp
    分块入门
    bzoj 1036 树链剖分
  • 原文地址:https://www.cnblogs.com/yunxinxi/p/4104728.html
Copyright © 2020-2023  润新知