zoukankan      html  css  js  c++  java
  • iOS之自定义控件

    一、使用纯代码方式

    • initWithFrame:中添加子控件
    • layoutSubViews中设置子控件的fame
    • 对外设置数据接口,重写setter方法给子控件设置数据显示
    • 在的viewController里面使用init/initWithFrame:方法创建自定义类,并且给自定义类的frame赋值
    • 对自定义类对外暴露的数据接口进行赋值

    二、使用xib方式

    • 创建xib,在xib中拖入需要添加的控件并设置好尺寸,这个xib的Class要设置为我们定义的类
    • 通过IBOutlet的方式,将xib中的控件与自定义类进行关联
    • 对外设置数据接口,重写setter方法给子控件设置显示数据
    • 在viewController类里面加载xib文件就可以得到对应的类,这里不需要再设置自定义类的frame,因为xib已经有了整个view的大小,只需要设置位置,
    • 对类对外暴露的数据接口赋值

    注意:
    如果使用代码方式创建控件,那么创建时一定会调用initWithFrame:方法
    如果使用xib/stotyboard方式创建控件,那么在创建时一定会调用initWithCoder:方法

    在initWithCoder:里面访问属性,会发现属性为nil,因为此时自定义好控件正在初始化,属性还没赋值。很多操作都在initWithCoder:后进行。
    建议在awakeFromNib方法中进行初始化的额外操作,因为awakeFromNib是在初始化完成后调用的,所以在这个方法里访问属性就可以保证不为nil。

  • 相关阅读:
    c语言 malloc和free的实现
    gdb调试命令总结
    pycharm使用教程
    flask--relationship
    安装部署问题
    Flask的request.form和request.data有什么区别
    装饰器
    flask 权限
    flask--session
    数据库-触发器
  • 原文地址:https://www.cnblogs.com/YaoJinye/p/5863803.html
Copyright © 2011-2022 走看看