美文网首页
自定义UI控件的技巧

自定义UI控件的技巧

作者: VickyLanLan | 来源:发表于2016-07-18 17:23 被阅读77次

UIView控件只是一个矩形的空白区域,并没有任何内容。iOS应用的其他UI控件都继承了UIView,这些UI控件都是在UIView提供的空白区域上绘制外观。

基于UI控件的实现原理,开发者完全可以开发出项目定制的控件——当iOS系统提供的UI控件不足以满足项目需要时,开发者可以通过继承UIView来派生自定义控件。

当开发者打算派生自己的UI控件时,首先定义一个继承View基类的子类,然后重写View类的一个或多个方法,通常可以被用户重写的方法如下。

ØinitWithFrame::前面已经见到,程序创建UI控件时常常会调用该方法执行初始化,因此,如果你需要对UI控件执行一些额外的初始化,即可通过重写该方法来实现。

ØinitWithCoder::程序通过在nib文件中加载完该控件后会自动调用该方法。因此,如果程序需要在nib文件中加载该控件后执行自定义初始化,则可通过重写该方法来实现。

ØdrawRect::如果程序需要自行绘制该控件的内容,则可通过重写该方法来实现。

ØlayoutSubviews:如果程序需要对该控件所包含的子控件布局进行更精确的控制,可通过重写该方法来实现。

ØdidAddSubview::当该控件添加子控件完成时,将会激发该方法。

ØwillRemoveSubview::当该控件将要删除子控件时,将会激发该方法。

ØwillMoveToSuperview::当该控件将要添加到其父控件中时,将会激发该方法。

ØdidMoveToSuperview:当把该控件添加到父控件完成时,将会激发该方法。

ØwillMoveToWindow::当该控件将要添加到窗口中时,将会激发该方法。

ØdidMoveToWindow:当把该控件添加到窗口完成时,将会激发该方法。

ØtouchesBegan:withEvent::当用户手指开始触碰该控件时,将会激发该方法。

ØtouchesMoved:withEvent::当用户手指在该控件上移动时,将会激发该方法。

ØtouchesEnded:withEvent::当用户手指结束触碰该控件时,将会激发该方法。

ØtouchesCancelled:withEvent::用户取消触碰该控件时,将会激发该方法。

当需要开发自定义View时,开发者并不需要重写上面列出的所有方法,而是根据业务需要重写上面的部分方法。

相关文章

  • Android理解自定义View

    当Android SDK中提供的系统UI控件无法满足业务需求时,我们就需要考虑自己实现UI控件。 自定义UI控件有...

  • XIB和代码自定义控件的步骤

    title : XIB和代码自定义控件的步骤category : UI 代码和XIB自定义控件和封装子控件的步骤...

  • Android自定义View

    当Android SDK中提供的系统UI控件无法满足业务需求时,就需要考虑自己实现UI控件 自定义UI控件有2种方...

  • Android面试准备

    一、简历准备 1、个人技能 (1)自定义控件、UI设计、常用动画特效 自定义控件 ①为什么要自定义控件? Andr...

  • 自定义UI控件的技巧

    UIView控件只是一个矩形的空白区域,并没有任何内容。iOS应用的其他UI控件都继承了UIView,这些UI控件...

  • 自定义控件笔记1

    自定义控件:用系统自带控件重新组合或者自定义类继承View或者自定义类继承ViewGroup,实现特定的UI效果。...

  • 自定义ViewGroup的简单流程

    自定义ViewGroup的步骤 1、自定义属性 参考UI控件:自定义View 2、onMeasure() View...

  • Quartz2D(一)之简单介绍

    Quarz 2D 一. 自定义一个UI控件的样式 直接在该自定义控件的类中实现- (void)drawRect:(...

  • iOS runtime结合KVC修改一些控件的内部属性

    使用KVC模式来修改控件的内部属性是开发中必不可少的小技巧。众所周知很多UI控件都由很多内部UI控件组合而成...

  • autojs自定义Switch

    牙叔教程 简单易懂 使用场景 自定义控件 效果展示 autojs版本 8.8.20-0 为什么自定义控件 为了UI...

网友评论

      本文标题:自定义UI控件的技巧

      本文链接:https://www.haomeiwen.com/subject/ixzpjttx.html