美文网首页
UIKit中的常用控件(一)

UIKit中的常用控件(一)

作者: Coulson_Wang | 来源:发表于2017-06-04 19:29 被阅读0次

    这个系列的博客主要记录一下UIKit中各类控件的主要要点和用法。本篇将介绍一下UILabel、UIImageView和UIButton
    </br>


    一、UILabel

    主要属性
    • text
      文本内容</br>

    • textColor
      文本颜色</br>

    • font
      文本字体(包括字体和字号)</br>

    • textAlignment
      对齐方式</br>

    • numerOfLines
      行数(置为0时自动换行)</br>

    • enable
      是否可用</br>

    • lineBreakMode
      决定一行文本中省略的位置</br>

    • shadowColor/shadowOffset
      阴影(在shadowOffset中可以设置阴影的水平和垂直的偏移方向)</br>

    </br>


    二、UIImageView

    主要属性
    • image
      图片资源。一个UIImage类型的对象</br>

    • contentMode
      决定图片的内容显示模式

    • ...ScaleToFill:完全的拉伸或压缩

    • ...ScaleAspectFit:宽高比不变,适应大小

    • ...ScaleAspectFill:宽高比不变,填充区域
      </br>

    • ...Center:居中

    • ...Top/Bottom/Left/Right:置于顶部/底部/左侧/右侧

    • ...TopLeft/TopRight/BottomLeft/BottomRight:置于左上/右上/左下/右下

    • clipsToBounds
      一个布尔类型的属性。决定图片是否被裁减。默认为NO
      </br>

    创建方式
    1. [[UIImageView alloc] init]
      创建后需要手动设置frame
      </br>
    2. [[UIImageView alloc] initWithFrame:]
      直接把frame作为参数传入
      </br>
    3. [[UIImageView alloc] initWithImage:]
      把图片作为参数传入,可以使创建的view的尺寸与图片一致,但需要手动设置origin
      </br>
    实现序列帧动画
    1. 给animationImages属性设置实例变量,传入一个UIImage数组
    2. 设置animationRepeatCount属性,表示循环次数,0则无限循环
    3. 设置animationDuration参数,表示完整播放完一次动画所需的时间
    4. 调用startAnimating方法,开始播放帧动画
    5. 调用stopAnimation方法,停止播放帧动画

    </br>

    UIImage加载图片的2种方式
    • 通过imageNamed:方法获取保存在Assets中火保存在项目资源包中的图片。但是需要注意:
    1. 放到Assets.xcassets中的图片,默认就有缓存
    1. 就算指向它的指针被销毁,该资源也不会从内存中被释放掉
    2. 适合保存常用的图片
    • 通过imageWithContentsOfFile:方法获取保存在项目资源包目录下的图片,不能获取保存在Assets中的图片
    1. 打包后,Assets文件夹会变成Assets.car文件,无法拿到路径,因此就无法通过imageWithContentsOfFile:方法获取图片
    1. 指向他的指针被销毁时,资源会从内存中被释放掉
    2. 适合保存不常使用的图片,或大量的图片资源

    </br>


    三、UIButton

    一般情况下,点击某个控件后,做出相应反应的按钮都是按钮。

    按钮中可以既显示文本又显示图片,并可以自定义按钮中文本和图片的位置。

    1.UIButton的状态
    • normal
      普通状态,在默认情况下显示

    • highlighted
      高亮状态

    • disabled
      不可用状态

    2.Storyboard中UIButton的常用属性
    • Type
      • System 系统默认格式
    • Custom 自定义格式(用得最多的)
    • Detail Disclosure 详情按钮
    • Add Contact 添加联系按钮
    • State Configer
      • Default
      • Highlighted
      • Disabled
    • Shadow Offset
      偏移值只能是正值
    • Image
      按钮中的图片,默认情况下始终居中显示,不会随按钮尺寸变化拉伸
    • BackgroundImage
      按钮的背景图片,会始终被拉伸放缩至与按钮的尺寸大小一致

    </br>

    3.UIButton在代码中的使用
    • 创建
      使用buttonWithType:方法初始化,并设置按钮的类型(按钮的类型只能在初始化的时候设置)

    • 设置文字
      需要分状态进行设置,button的text属性是只读的。因此需要调用:
      setTitle:forState:等方法来设置按钮在不同状态下的文本属性

    • 设置内容图片
      与设置文字相同,需要区分状态
      setImage:forState:

    • 设置背景图片
      与设置文字相同,需要区分状态
      setBackgroundImage:forState:

    • 在代码中调用方法
      调用addTarget:action:forControlEvents:方法来为按钮增加一个触发方法:

    • 第一个参数执行方法的控制器

    • 第二个参数表示执行的方法(SEL类型)

    • 第三个参数表示触发按钮的事件类型

    </br>

    4.改变UIButton中图片和文字的位置
    • 方式1:在自定义的UIButton子类中重写两个方法来修改
    • 重写titleRectForContentRect:方法修改文字的frame
    • 重写imageRectForContentRect:方法修改图片的frame
    • 方式2:在自定义的UIButton子类中重写layoutSubviews方法来修改子控件布局

    </br>

    5.改变UIButton中的内边距
    • 通过设置按钮的contentEdgeInsets来设置所有内容的内边距
    • 通过设置按钮的imageEdgeInsets来设置图片的内边距
    • 通过设置按钮的titleEdgeInsets来设置文字的内边距

    相关文章

      网友评论

          本文标题:UIKit中的常用控件(一)

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