UIKit控件总结

一、UIView控件

1.常见属性

(1)frame:UIView的位置和尺寸(以父控件的左上角为原点(0,0))

(2)center:UIView的中点(以父控件的左上角为原点(0,0))

(3)bounds:位置和尺寸(以自己的左上角为原点(0,0))

(4)transform:形变属性(缩放、旋转)

(5)backgroundColor:UIView的背景颜色

(6)tag:标识(父控件可以根据这个标识找到对应的子控件,同一个父控件中的子控件tag不要一样)

(7)hidden:设置是否要隐藏

(8)alpha:透明度(0~1)

(9)opaque:不透明度(0~1)

(10)userInteractionEnabled:能否跟用户进行交互(YES能交互)

(11)superview:UIView的父控件

(12)subviews:UIView的子控件

(13)contentMode:UIView的内容显示的模式

常见方法:

(1)addSubview:添加子控件,被添加到最上面(subviews中的最后面)

(2)removeFromSuperview:从父控件中移除

(3)viewWithTag:父控件可以根据这个tag标识找到对应的子控件

(4)insertSubview:atIndex:添加子控件到指定的位置

(5)利用以下两个类方法执行视图动画

+ (void)beginAnimations:(NSString *)animationID context:(void*)context;  //开始动画

+ (void)commitAnimations; //执行动画

(6)利用block执行动画

/*

 duration 动画持续时间

 animations 存放需要执行动画的代码

 completion  存放动画完毕后需要执行的操作代码

 */

+ (void)animateWithDuration:(NSTimeInterval)duration animations:(void(^)(void))animations completion:(void(^)(BOOLfinished))completion

二、UIControl控件

1.UIControl继承于UIView,而继承了UIControl的控件,可以简单处理一些事件(点击事件、值改变事件)

2.继承了UIControl的子类包括UIButton、UISlider、UISwitch、UIDatePicker等等

3.UIControl的常用属性

(1) enabled:能否响应事件,跟UIView的userInteractionEnabled属性类似

(2) contentVerticalAlignment:内容在垂直方向上的排布方式

(3) contentHorizontalAlignment:内容在水平方向上的排布方式

4.常用方法

(1) 添加监听器

/*

 target  监听器对象

 action  事件触发时所调用的方法,调用target的方法

 controlEvents 事件类型

 */

- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;

(2) 删除监听器

// 删除监听器后,事件触发时就不会再通知监听器了,也就不会再调用target的action方法了

- (void)removeTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;

(3)获得所有的监听器对象

- (NSSet *)allTargets;

三、UILabel控件

1.text:所显示的文本内容

2.textColor:文本颜色

3.font:字体

4.shadowColor:文字的阴影颜色

5.shadowOffset:阴影的偏差距离(width水平方向的偏差距离,正数右边;height垂直方向的偏差距离,正数下边)

6.textAlignment:设置文字的排布方式(偏左、偏右、居中)

7.numberOfLines:允许文字最多有几行(默认是1,如果为0,表示自动换行)

五、UIButton控件

1.常见属性

(1)titleLabel:获取内部的UILabel对象

(2)imageView:获取内部的UIImageView对象

2.常见方法

(1)设置内部UILabel显示的文本内容

// 设置按钮文本的时候不能  btn.titleLabel.text = @“你好,ios;

- (void)setTitle:(NSString *)title forState:(UIControlState)state;

(2)设置内部UILabel的文字颜色

- (void)setTitleColor:(UIColor *)color forState:(UIControlState)state;

(3)设置内部UILabel的文字阴影颜色

- (void)setTitleShadowColor:(UIColor *)color forState:(UIControlState)state;

(4)设置内部UIImageView的图片

// 设置内部UIImageView的图片不能:btn.imageView.image = [UIImage imagedName:@"0.png"];

- (void)setImage:(UIImage *)image forState:(UIControlState)state;

(5)设置背景图片

- (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state;

(6)下面这些方法可以获取不同状态下的一些属性值

- (NSString *)titleForState:(UIControlState)state;     

- (UIColor *)titleColorForState:(UIControlState)state;

- (UIColor *)titleShadowColorForState:(UIControlState)state;

- (UIImage *)imageForState:(UIControlState)state;

- (UIImage *)backgroundImageForState:(UIControlState)state;

(6)下面两个方法需要交给子类去重写

// 返回内部UILabel的frame(位置和尺寸)

- (CGRect)titleRectForContentRect:(CGRect)contentRect;

// 返回内部UIImageView的frame(位置和尺寸)

- (CGRect)imageRectForContentRect:(CGRect)contentRect;

六、UIImage类可拉伸图片的方法

(1)可拉伸的图片,拉伸后返回该图片,传入参数是不拉伸的位置及长度

- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets

(2)可拉伸的图片,拉伸后返回该图片,capInsets表示不拉伸的位置及长度,resizingMode表示拉伸区域的拉伸模式 (瓦片平铺、拉伸)

- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode

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

推荐阅读更多精彩内容