首页 > 其他 > 详细

自定义控件

时间:2019-07-29 19:24:59      阅读:117      评论:0      收藏:0      [点我收藏+]

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的读取

技术分享图片

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

 

自定义控件

原文:https://www.cnblogs.com/kinghyt/p/11265571.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!