一、可以通过代码的方式创建UIButton
1、通用实例化对象方法:
UIButton *button = [[UIButton alloc] initWithFrame:rect];
2、快速实例化对象方法:
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
提示:
在OC开发中,实例化任何类型的非自定义对象,都请首先尝试一下是否存在快速定义方法。如果存在快速定义方法,就尽量不要使用init之类的方法实例化对象!
二、UIButton的常用属性1——按钮类型
1、 UIButtonTypeCustom
按钮的内容需要自定义
2、UIButtonTypeRoundedRect
圆角矩形按钮
3、UIButtonTypeDetailDisclosure
显示明细按钮
4、UIButtonTypeInfoLight
亮色信息按钮,用于深色背景
5、UIButtonTypeInfoDark
深色信息按钮,用户浅色背景
6、UIButtonTypeContactAdd
添加按钮
说明:
–前两种类型的按钮最常用
后四种类型的按钮设计,是为了保持用户统一的使用习惯
三、UIButton的常用属性2——按钮文字
1、正常状态下按钮文字
[button setTitle:@"按钮" forState:UIControlStateNormal];
2、长按按钮状态下的按钮文字
[button setTitle:@"有人摸我" forState:UIControlStateHighlighted];
注意
–在设置按钮文字时,需要指定文字对应的按钮状态
四、UIButton的常用属性3——按钮文字颜色
[button setTitleColor:[UIColor blackColor]
forState:UIControlStateNormal];
[button setTitleColor:[UIColor redColor]
forState:UIControlStateHighlighted];
注意:
–在设置按钮文字颜色时,同样需要指定颜色应用的按钮状态
五、UIButton的常用属性4——按钮背景颜色
[button setBackgroundColor:[UIColor orangeColor]];
注意:
–在设置背景颜色时,按钮需要是自定义类型
六、UIButton的常用属性5——设置图片及背景图像
// 加载图像
UIImage *image = [UIImage imageNamed:@"sub_black_add.png"];
// 设置按钮图像
[button setImage:image forState:UIControlStateNormal];
// 设置按钮背景图像
[button setBackgroundImage:image forState:UIControlStateNormal];
注意:
–背景图像会根据按钮的尺寸拉伸
–按钮图像会居中显示在按钮中央位置
–如果同时设置了按钮的图像和文字
按钮区域足够大,会并列显示图像和文字
如果区域不够大,优先显示图像
七、设置UIButton的监听器
// 设置按钮点击监听
[button addTarget:self action:@selector(tapButton)
forControlEvents:UIControlEventTouchUpInside];
注意:
–调用自定义方法需要使用@selector指令
–注意void和IBAction的区别
–按钮事件最多只可以带一个参数
代码段1:
//
// 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