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

    MVC设计模式:

    自定义控件:(自己写一个View 命名:前缀+类名)

    1.系统提供的控件满足不了我们的项目需求。

    2.将多个控件封装为一个整体,便于管理和操作。

    两种方式:1.xib

     2.纯代码

    一般来说,我们的自定义类继承自UIView,首先在initWithFrame方法中将需要的子控件加入view中

    (1)创建UIView的一个子类

    (2)重写initWithFrame方法(调用 alloc init方法时,先调用initwithframe 再调用init方法)

    (3)在initWithFrame方法里面添加子控件 (但注意 尽量不要在里面设置坐标 可能出错 坐标在layoutSubviews里面设置 自己写的话是可以的 给外部人用一般在layout里面写)UIImageView、UILabel

    (4)定义一个属性变量接收外部传递过来的数据

    layoutSubviews方法什么时候被调用:

    • 直接调用setNeedsLayout。(这个在上面苹果官方文档里有说明)
    • addSubview的时候。触发被加视图的layoutSubViews
    • 当view的frame发生改变的时候。
    • 滑动UIScrollView的时候。
    • 旋转Screen会触发父UIView上的layoutSubviews事件。
    • 改变一个UIView大小的时候也会触发父UIView上的layoutSubviews事件。
    • initWithFrame且frame的值不为CGRectZero时(测试时出现一个奇怪的问题 某些情况下只调用一次)

    PCH文件:

    1.创建

    2.导入需要多次使用的头文件

    3.配置

    创建界面的三种方式:

    1、创建UIViewController的一个子类

    界面的显示:

    2.使用storyboard添加一个UIViewController 如有需要则关联某个类(先加载storyboard再代码)

    好处:能够快速添加一个新的界面

    能够使用拖拽控件的方式布局界面

    可以实现界面之间的跳转关系

    缺陷:不能添加单个的视图

    3.使用xib添加一个view,fileowner关联

    UIViewController的一个子类,让添加的view和代码控制器的view关联 使用initWithNibNamed方法加载

    只能创建一个视图 且没有界面的跳转

    Xib的读取

    自定义控件时,通常只创建一个视图,以防出错

  • 相关阅读:
    容斥相关
    动态点分治
    杜教筛
    上下界网络流的理解
    putty securecrt
    借款费用
    在线画图工具
    费用包括(营业成本)和(期间费用)
    信用减值损失
    采用权益法核算的长期股权投资,被投资单位宣告发放现金股利
  • 原文地址:https://www.cnblogs.com/kinghyt/p/11265571.html
Copyright © 2011-2022 走看看