首页 > 代码库 > 第3课、UIButton的常用属性
第3课、UIButton的常用属性
一、 可以通过代码的方式创建UIButton
1. 通用实例化对象方法:
UIButton *button = [[UIButton alloc] initWithFrame:rect];
2. 快速实例化对象方法:
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
提示:
1) 在OC开发中,实例化任何类型的非自定义对象,都请首先尝试一下是否存在快速定义方法。
如果存在快速定义方法,就尽量不要使用init之类的方法实例化对象!
二、 按钮类型
1. UIButtonTypeCustom 按钮的内容需要自定义
2. UIButtonTypeRoundedRect 圆角矩形按钮
3. UIButtonTypeDetailDisclosure 显示明细按钮
4. UIButtonTypeInfoLight 亮色信息按钮,用于深色背景
5. UIButtonTypeInfoDark 深色信息按钮,用户浅色背景
6. UIButtonTypeContactAdd 添加按钮
说明:
1)前两种类型的按钮最常用
2)后四种类型的按钮设计,是为了保持用户统一的使用习惯
三、按钮文字
正常状态下按钮文字 [button setTitle:@"按钮" forState:UIControlStateNormal];
长按按钮状态下的按钮文字 [button setTitle:@"有人摸我" forState:UIControlStateHighlighted];
注意
1) 在设置按钮文字时,需要指定文字对应的按钮状态
四、 按钮文字颜色
[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[button setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted];
注意
1)在设置按钮文字颜色时,同样需要指定颜色应用的按钮状态
五、按钮背景颜色
[button setBackgroundColor:[UIColor orangeColor]];
注意
1)在设置背景颜色时,按钮需要是自定义类型
六、设置图片及背景图像
加载图像 UIImage *image = [UIImage imageNamed:@"sub_black_add.png"];
设置按钮图像 [button setImage:image forState:UIControlStateNormal];
设置按钮背景图像 [button setBackgroundImage:image forState:UIControlStateNormal];
注意
1)背景图像会根据按钮的尺寸拉伸
2)按钮图像会居中显示在按钮中央位置
3)如果同时设置了按钮的图像和文字
•按钮区域足够大,会并列显示图像和文字
•如果区域不够大,优先显示图像
//// ViewController.m// 第3课、UIButton的常用属性//// Created by iCodePhone on 14-7-29.////#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad{ [super viewDidLoad]; //定义一个按钮的实例 UIButton * button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; //位置 [button setFrame:CGRectMake(50, 50, 200, 40)]; //文字(正常OR选中) [button setTitle:@"点击按钮(正常)" forState:UIControlStateNormal]; [button setTitle:@"被点击喽(选中)" forState:UIControlStateHighlighted]; //设置文字颜色 [button setTitleColor:[UIColor redColor] forState:UIControlStateNormal]; [button setTitleColor:[UIColor greenColor] forState:UIControlStateHighlighted]; //背景颜色(如果要设置按钮的背景颜色,需要使用自定义类型的按钮,即:UIButtonTypeCustom) //[button setBackgroundColor:[UIColor orangeColor]]; //将按钮的监听(监听方法,只有一个参数。) //@selector选择器,告诉系统,来找这个方法,来加载到内存中。---(OC的一大特点!) [button addTarget:self action:@selector(onClickBtn:) forControlEvents:UIControlEventTouchUpInside]; //设置按钮的背景图,会根据按钮的尺寸拉伸 [button setBackgroundImage:[UIImage imageNamed:@"btn001"] forState:UIControlStateNormal]; //添加到视图 [self.view addSubview:button];}/* 有C#,JAVA基础的,可能会这么写:button.titleLabel.text 在OC中,中括号,表示消息。 在OC中,没有函数机制,它是消息机制。 它会告诉系统,我需要这么一个消息。系统会在内存中找,这个方法有没有被加载在内存里面, 如果,这个方法不在内存里面,它把这个方法加载到内存里面,来执行。 *//* 1. 在使用连线的时候,这个方法的返回值是IBAction。 所谓IBAction,就是在头文件,可以连线的void。 2. 在使用连线的时候,方法有一个参数。 可不写参数 */- (void) onClickBtn:(UIButton *)sender{ NSLog(@"sender.titleLabel.text==%@", sender.titleLabel.text);}@end
--- iCode , 爱生活。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。