iOS UI基本控件

控件一. UILabel

 1》description:

UILabel继承于UIView, 是UIView的子类。所以UILabel拥有UIView 的所有属性和方法。

UILabel在UI开发中的主要作用: 显示文本信息。在API中被创建的UILabel对象是无法参与用户交互机制,如果你想让你创建的UILabel对象参与用户交互的话,你需要修改userInteractionEnabled属性设置为YES。

//    label和imageView都要开用户交互

inputLabel.userInteractionEnabled = YES;

2》初始化

UILabel对象的初始化

UILabel没有自己的初始化方法,所以我们可以调用其父类的初始化

- (instancetype)initWithFrame:(CGRect)aRect//通过给label一个坐标(x,y)和大小(width,height)

UILabel *inputLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 100, 110)];

3》属性

UILabel是用来显示文本信息的空间

@property(nonatomic, copy) NSString *text

属性text:可以直接给label附一个字符串并让其字符串在label上显示

label.text = @"I'm a label, I can show string"; 

label.text = [NSString stringWithFormat:<#(nonnull NSString *), ...#>]

@property(nonatomic, strong) UIFont *font

 属性font:可以调整label上显示文本的字体格式(可以修改字体的大小和字体格式)

label.font = [UIFont systemFontOfSize:40];

label.font = [UIFont fontWithName:<#(nonnull NSString *)#> size:<#(CGFloat)#>]

@property(nonatomic, strong) UIColor *textColor

属性textColor:可以调整label上显示文本的颜色

label.textColor = [UIColor lightGrayColor];

@property(nonatomic) NSTextAlignment textAlignment

属性textAlignment:label上显示文本的对齐方式(有三个值:1.NSTextAlignmentLeft做对齐“默认是左对齐”2.NSTextAlignmentCenter居中对齐3.NSTextAlignmentRight右对齐)

label.textAlignment = NSTextAlignmentCenter;

@property(nonatomic) NSInteger numberOfLines;

属性:numberOfLines表示在label上显示的文本将要以多少行显示在label上,若果你不知道显示在label上的文本回显示多少行久给该属性赋值为0,这样系统会自己根据lanbel的大小和文本字体大小来自己计算显示多少行。

@property(nonatomic, strong) UIColor *shadowColor

@property(nonatomic) CGSize shadowOffset

label 的shadowColor和shadowOffset属性通常在一起使用,设置label上文字的阴影颜色和阴影大小(通常用在艺术字和炫酷的文字效果的场景下使用)

// 7. 阴影 shadowColor

label.shadowColor = [UIColor blackColor];

label.shadowOffset = CGSizeMake(2, 1);

效果如下:


@property(nonatomic) BOOL clipsToBounds

属性clipsToBounds:一个布尔值,确定子视图的范围仅限于视图,子试图超出父试图的那部分会被隐藏起来,默认值是NO。通过是在给label做圆角效果的时候使用。

inputLabel.layer.cornerRadius = 4;//通过label的layer图层改变label的圆角

inputLabel.clipsToBounds = YES;//设置label的clipsToBounds属性并赋值为YES

[inputLabel addSubview:passwordImageView];//将passwordImageView添加到其父试图inputLabel上,如果passwordImageView的大小超过父试图inputLabel大小的部分会被隐藏。

效果如下:

控件二. UIButton

1》description:

UIButton是一个按钮的控件类,在平时的开发中用到的非常之多,无论什么APP或者其他应用中button这个空间是必不可少的,它是一切事件响应开始的主要控件之一。UIButton类继承UIControl类,而UIControl类继承UIView类。所以UIButton也同样继承了UIView的所有属性和方法。

UIButton的外观可以自定制,但要自定制UIButton的外观需要了解UIButton是由什么构成的,UIButton由三个子控件构成分别是UIImage(button的左边),UILabel(button的右边),BackGroundImage(button的背景)如图:

注:这些子控件如果你不设置是没有的。

2》初始化

UIButton没有自己的初始化方法,其初始化方法可以用父类UIView的初始化方法。

但UIButton有自己的类方法。

+ (instancetype)buttonWithType:(UIButtonType)buttonType

构造器方法:有多重buttonType:

UIButtonTypeCustom = 0,

UIButtonTypeSystem,

UIButtonTypeDetailDisclosure,

UIButtonTypeInfoLight,

UIButtonTypeInfoDark,

UIButtonTypeContactAdd,

UIButtonTypeRoundedRect,

2》属性

@property(nonatomic, readonly, strong) UILabel *titleLabel

属性:titleLabel:button上显示文本信息

button.titleLabel.text = @"i'm a label";

@property(nonatomic, readonly, strong) UIImage *currentImage

属性:currentImage button上显示image

button.currentImage = [UIImage imageName:@"o1.png"];

@property(nonatomic, readonly, strong) UIImage *currentBackgroundImage

属性:currentBackgroundImage:button上显示背景图片

button.currentBackgroundImage =  [UIImage imageName:@"o1.png"];

3》方法

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

设置button上显示的文字

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

设置button上显示文字的颜色

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

UIcontrol的重要方法之一,给button 添加点击事件:给button添加点击事件 target :目标对象, action:选择器识别一个动作信息。它不能为空。

controlEvents:控制事件的行动消息发送.

控件三:UITextField

1》description:

UITextField通常称为编辑框和输入框继承UIControl 说明UITextField也具有事件机制

1》属性

@property(nonatomic, copy) NSString *text

属性:text:textField一个默认的显示在编辑框的文字

@property(nonatomic, copy) NSString *placeholder

属性:placeholder:textField的一个占位符

textField.placeholder = @"请输入用户名";

效果如下:

@property(nonatomic) BOOL clearsOnBeginEditing

属性:clearsOnBeginEditing:当每次开始编辑textField时清除上次编辑的文本

@property(nonatomic) UITextFieldViewMode clearButtonMode

属性:clearButtonMode:出现在TextField编辑框最右边的一个小叉按钮,作用就是可以点击清除所编辑的文本。

textField.clearButtonMode = UITextFieldViewModeAlways;

清除按钮共有四种选项分别在不同的条件下显示清除按钮:(

UITextFieldViewModeNever,

UITextFieldViewModeWhileEditing,

UITextFieldViewModeUnlessEditing,

UITextFieldViewModeAlways

效果如下:


@property(nonatomic, copy) NSString *text

属性text:用的很多不仅可以给textField赋值还可以从textField取值。大多数我们做登录注册和搜索引擎时都需要获取用户在textField上输入的值我们就可以通过textField的text属性获取我们需要的值。

控件四:UIImageView

1》description

UIImageView顾名思义就是存放图片的View相当于相框的一个作用,UIImageView继承与UIView拥有UIView所有的属性和方法。

1》初始化

- (instancetype)initWithImage:(UIImage *)image

通过一个给定的UIImage的初始化方法

UIImageView *imageView = [[UIImageView alloc] initWithImage:image];

- (instancetype)initWithImage:(UIImage *)image highlightedImage:(UIImage *)highlightedImage

初始化时分别在Nomal情况下和highlighted状态下的两个image进行初始化

@property(nonatomic, strong) UIImage *image

属性:image :通过image属性也能给ImageView添加图片

@property(nonatomic, copy) NSArray*animationImages

属性:animationImages的类型是一个NSArray可以知道是一个存放N个图片的数组,通常用作存放动画的图片组。

@property(nonatomic) NSTimeInterval animationDuration

属性:animationDuration动画播放一周期的时长。

3》方法

- (void)startAnimating

播放动画

- (void)stopAnimating

停止播放动画

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

推荐阅读更多精彩内容