UI 之UILabel,UITextField,UIButton
一. UILabel
UILabel是显示文本的控件,能显示文字的控件.
UILabel的创建过程与UIView的步骤很相似. 1.开辟空间,初始化;2.设置文本控制相关属性;3.添加到父视图上,用以显示.
代码如下:
UILabel *userNameLabel = [[UILabel alloc] init];
userNameLabel.frame = CGRectMake(20, 40, CGRectGetWidth(self.window.frame) - 40, 50);
userNameLabel.text = @"User Name";
[self.window addSubview:userNameLabel];
UILabel的属性:
1. label.text = (NSString *);为要显示文本的内容.
2. label.textColor = [UIColor redColor];为设置文本框的背景色
3. label.textAlignment = NSTextAlignmentLeft & NSTextAlignmentCenter & NSTextAlignmentRight; 文本居左,居中,居右.
4.
label.font = [UIFont systemFontOfSize:50];设置文本字体大小
label.font = [UIFont boldSystemFontOfSize:50];设置文本字体为粗体,以及大小
label.font =[UIFont fontWithName:@"DFWaWaSC-W5" size:200];设置文本字体为默认字体,以及大小.
5. label.numberOfLines = 3;显示3行,注意Label的高度要能容纳3行,如果3行没显示完的信息利用...号代替.
6. label.lineBreakMode =
NSLineBreakByWordWrapping , //以单词为单位
NSLineBreakByCharWrapping, //以字符为单位
NSLineBreakByClipping, //直接裁切
NSLineBreakByTruncatingHead, //头部省略 "...wxyz"
NSLineBreakByTruncatingTail, //尾部省略 "abcd..."
NSLineBreakByTruncatingMiddle //中间省略 "ab...yz"
7. label.shadowColor = [UIColor lightGrayColor];设置阴影颜色.
8. label.shadowOffSet = CGSizeMake(5,5);沿x轴正方向偏移5,沿y轴正方向偏移5.
二. UITextField
UITextField为文本输入框,UITextField可以允许用户进行编辑.
UITextField的使用示例:
UITextField *textField = [[UITextField alloc] init];
textField.frame = CGRectMake(100, 500, CGRectGetWidth(self.window.frame), 40);
textField.borderStyle = UITextBorderStyleRoundedRect; 设置边框风格 一般情况为圆矩
textField.placeholder = @"用户名";
[self.window addSubview:textField];
UITextField的属性:
1. textField.text = (NSString *) 要显示的文本内容
2. textField.textColor = [UIColor redColor]; 要显示的文本的颜色
3. textField.textAlignment = NSTextAlignmentCenter;文本的对齐方式
4. textField.font与UILabel的font一样
5. textField.placeholder = (NSString *); 占位字符(给出提示信息)
UITextField的控制输入属性:
1. enable是否允许输入,为布尔类型.
2. clearsOnBeginEditing是否开始输入时,清空输入框的内容,为布尔类型.
3. secureTextEntry是否文本以原点形式显示
4. keyboardType 弹出的键盘类型
5. keyboardAppearance 弹出的键盘外观(两种,一种深色,一种浅色(默认))
6. returnKeyType
7. inputView自定义输入视图(默认为键盘)
8. inputAccessoryView自定义输入视图上方辅助视图默认为nil
UITextField的外观控制属性:
borderStyle 边框样式,枚举值
clearButtonMode清楚按钮,枚举值
leftView,rightView输入框左,右视图.
leftViewMode,rightViewMode输入框左,右视图显示模式.
UITextField的代理方法:
要遵守UITextFiledDelegate的协议.协议中的方法均为optional的
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField;当textField将要开始编辑的时候告诉委托对象
- (void)textFieldDidBeginEditing:(UITextField *)textField 上一个方法的返回值为YES的时候告诉委托对象TextField正在被编辑
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField 当输入框结束输入时,代理对象可通过此方法的返回值来控制输入框是否结束编辑
- (void)textFieldDidEndEditing:(UITextField *)textField 当上面是否允许结束编辑的协议方法返回值为YES时,此方法响应,表示结束编辑.
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 询问代理对象是否允许替换现有字符
- (BOOL)textFieldShouldClear:(UITextField *)textField 当点击清空按钮时,通过此协议方法控制textField是否清空现有字符串.
- (BOOL)textFieldShouldReturn:(UITextField *)textField 当点击键盘右下角的返回键时响应此协议方法,可以通过此方法为该键添加具体功能.
三. UIButton
按钮无需释放对象的所有权,使用的是遍历构造器创建的对象.
UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
button.frame = CGRectMake(100, 400, 50, 50);
[button setTitle:@"Button" forState:UIControlStateNormal];
[button addTarget:self action:@selector(test1:) forControlEvents:UIControlEventTouchUpInside];
[self.window addSubview:button];
UIButton外观控制属性
1. setImage: forState: 在什么状态下前景图片样式
2. imageForState 获得指定状态下的前景图片
3. setBackgroundImage.forState:设置指定状态下的背景图片
4. backgroundImageForState:获取指定状态下的背景图片
5. setTitle: forState设置指定标题下的状态
6. titleForState获取指定状态下的标题
7. setTitleColor:forState设置指定标题下的颜色
8. titleColorForState获取指定状态下标题的颜色
9. setTitleShadowColor:forState设置指定状态下标题阴影的颜色
10. titleShadowColorForState:获取指定状态下标题阴影的颜色
UIButton设置事件:
1. addTarget:action:forControlEvents:点击按钮后执行target的action事件
2. removeTarget:action:forControlEvents:移除事件
四. UIImageView
为显示图片类信息的视图
可以存放一个图片或者一组图片
NSString *path = [[NSBundle mainBundle] pathForResource:@"BackGround" ofType:@".png"];
UIImage *image = [UIImage imageWithContentsOfFile:path];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
imageView.frame = CGRectMake(100, 100, 100, 100 * image.size.height / image.size.width);
[self.window addSubview:imageView];
存放一组动画,则为图片文件存放在一个可变数组中,添加至imageView中即可.
UIImageView的动态图(实现动画)
1. animationImages //设置一组动画
2. animationDuration //设置一组动画间隔时间
3. animationRepeatCount //设置重复次数
4. startAnimation //开始动画
5. stopAnimation //结束动画