标签:c style class blog code java
1、通用实例化对象方法:
UIButton *button = [[UIButton alloc] initWithFrame:rect];
2、快速实例化对象方法:
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
提示:
在OC开发中,实例化任何类型的非自定义对象,都请首先尝试一下是否存在快速定义方法。如果存在快速定义方法,就尽量不要使用init之类的方法实例化对象!
1、 UIButtonTypeCustom
按钮的内容需要自定义
2、UIButtonTypeRoundedRect
圆角矩形按钮
3、UIButtonTypeDetailDisclosure
显示明细按钮
4、UIButtonTypeInfoLight
亮色信息按钮,用于深色背景
5、UIButtonTypeInfoDark
深色信息按钮,用户浅色背景
6、UIButtonTypeContactAdd
添加按钮
说明:
–前两种类型的按钮最常用
后四种类型的按钮设计,是为了保持用户统一的使用习惯
1、正常状态下按钮文字
[button setTitle:@"按钮" forState:UIControlStateNormal];
2、长按按钮状态下的按钮文字
[button setTitle:@"有人摸我" forState:UIControlStateHighlighted];
注意
–在设置按钮文字时,需要指定文字对应的按钮状态
[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[button setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted];
注意:
–在设置按钮文字颜色时,同样需要指定颜色应用的按钮状态
[button setBackgroundColor:[UIColor orangeColor]];
注意:
–在设置背景颜色时,按钮需要是自定义类型
// 加载图像
UIImage *image = [UIImage imageNamed:@"sub_black_add.png"];
// 设置按钮图像
[button setImage:image forState:UIControlStateNormal];
// 设置按钮背景图像
[button setBackgroundImage:image forState:UIControlStateNormal];
注意:
–背景图像会根据按钮的尺寸拉伸
–按钮图像会居中显示在按钮中央位置
–如果同时设置了按钮的图像和文字
按钮区域足够大,会并列显示图像和文字
如果区域不够大,优先显示图像
// 设置按钮点击监听
[button addTarget:self action:@selector(tapButton) forControlEvents:UIControlEventTouchUpInside];
注意:
–调用自定义方法需要使用@selector指令
–注意void和IBAction的区别
–按钮事件最多只可以带一个参数
// // ViewController.m // 通过代码创建按钮 // // Created by apple on 13-8-21. // Copyright (c) 2013年 apple. All rights reserved. // #import "ViewController.h" @interface ViewController () @end @implementation ViewController // 按钮点击执行方法 // 在StoryBoard连线的时候,这个方法的返回值是IBAction,所谓IBAction就是在头文件里面可以连线的void - (void)tapButton:(UIButton *)sender { NSLog(@"我被摸了 %@", [sender.titleLabel text]); } - (void)viewDidLoad { // 在viewDidLoad方法中,必须实现super方法,下一行代码千万别删了!! [super viewDidLoad]; // 定义一个按钮的实例 // 在oc中,所有你不熟悉的对象,实例化的时候,先敲一下它的名字 UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; // 定义一下按钮的位置 [button setFrame:CGRectMake(110.0, 220.0, 100.0, 40.0)]; // 定义按钮正常状态下的文字,UIControlStateNormal [button setTitle:@"别摸我" forState:UIControlStateNormal]; // 定义按钮按住状态下的文字,UIControlStateHighlighted [button setTitle:@"就摸你" forState:UIControlStateHighlighted]; // 设置按钮正常状态下文字的颜色 [button setTitleColor:[UIColor redColor] forState:UIControlStateNormal]; [button setTitleColor:[UIColor greenColor] forState:UIControlStateHighlighted]; // 设置按钮的背景颜色,如果要设置按钮的背景颜色,需要使用自定义类型的按钮 [button setBackgroundColor:[UIColor orangeColor]]; // 设置按钮的监听,也就是点击按钮的时候去执行的方法,监听方法只能接UIButton这一个参数 [button addTarget:self action:@selector(tapButton:) forControlEvents:UIControlEventTouchUpInside]; // 设置按钮的图像 // UIImage *image = [UIImage imageNamed:@"sub_black_add.png"]; // [button setImage:image forState:UIControlStateNormal]; // // UIImage *imageH = [UIImage imageNamed:@"sub_blue_add.png"]; // [button setImage:imageH forState:UIControlStateHighlighted]; // 设置按钮的背景图像,会根据按钮的尺寸拉伸 UIImage *imageBack = [UIImage imageNamed:@"sub_black_add.png"]; [button setBackgroundImage:imageBack forState:UIControlStateNormal]; // 将按钮添加到视图 [self.view addSubview:button]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
0821基础控件(UIButton常用属性),布布扣,bubuko.com
标签:c style class blog code java
原文地址:http://www.cnblogs.com/limyronchin/p/3758418.html