UIKit中的常用控件(一)

这个系列的博客主要记录一下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来设置文字的内边距
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,324评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,356评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,328评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,147评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,160评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,115评论 1 296
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,025评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,867评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,307评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,528评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,688评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,409评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,001评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,657评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,811评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,685评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,573评论 2 353

推荐阅读更多精彩内容