声明:此处所有代码都为在AppDelegate中操作的
UIButton
@implementation AppDelegate
{
UILabel *_label;//创建一个label成员变量
}
//入口
1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 2 3 // Override point for customization after application launch. 4 5 self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]]; 6 7 self.window.backgroundColor = [UIColor whiteColor];
UIButton 1
1 //01.UIButton:UIContol:UIView, UIbutton是UIContol的子类,间接式UIView的子类 2 3 //02.UIBotton是 驱动型控件 可以点击响应事件 4 5 //03.加方法创建button 6 7 UIButton * button = [UIButton buttonWithType:UIButtonTypeInfoLight]; 8 9 //iOS7之后 UIButtonTypeRoundedRect无效 10 11 //04.type 代表 button的样式 12 13 14 15 //05.设置按钮背景颜色 16 17 button.backgroundColor = [UIColor redColor]; 18 19 //06.直接使用frame对按钮的尺寸大小和位置进行设置 20 21 button.frame = CGRectMake(0, 40, 320, 30); 22 23 24 25 [self.window addSubview:button]; 26 27 28 29 30 31
UIButton 2 按钮的自定义样式
1 //开发中 基本不会使用系统提供的样式type 自定制控件 2 3 UIButton * button2 = [UIButton buttonWithType:UIButtonTypeCustom]; 4 5 //01.UIButtonTypeCustom 自定义样式 6 7 8 9 //02.开发中使用的图片绝大多数都是png格式,原因是因为图片可以是镂空的,可以做按钮图片 10 11 UIImage *image = [UIImage imageNamed:@"1.png"]; 12 13 UIImage *bgImage = [UIImage imageNamed:@"map.png”];//背景图片 14 15 16 17 //给button设置图片 18 19 [button2 setImage:image forState:UIControlStateNormal]; 20 21 [button2 setBackgroundImage:bgImage forState:UIControlStateNormal]; 22 23 24 25 button2.frame = CGRectMake(0, 80, 320, 30); 26 27 28 29 //设置点击后是否高亮,当点击整个按钮部分的时候,中间的前置图片会发亮一下 30 31 button2.showsTouchWhenHighlighted = YES;//NO则是关闭高亮效果 32 33 34 35 [self.window addSubview:button2]; 36 37
UIButton 3 给按钮设置标题(标题的颜色),标签
1 UIButton * button3 = [UIButton buttonWithType:UIButtonTypeCustom];//自定义type 2 3 button3.frame = CGRectMake(0, 120, 320, 30); 4 5 6 7 //01.设置标题 8 9 [button3 setTitle:@"点点点" forState:UIControlStateNormal]; 10 11 [button3 setTitle:@"我被点击了" forState:UIControlStateHighlighted]; 12 13 14 15 //02.设置标题颜色 16 17 [button3 setTitleColor:[UIColor redColor] forState:UIControlStateNormal]; 18 19 [button3 setTitleColor:[UIColor grayColor] forState:UIControlStateHighlighted]; 20 21 22 23 //03.设置禁用状态 NO表示禁用 默认是YES; 即按钮的状态,NO时则点击不会有任何反应,YES的时候点击会做出相应的反应 24 25 button3.enabled = YES; 26 27 28 29 //04.设置标记 目的:通过标签快速找到该按钮,设置值不能是个位数 30 31 button3.tag = 100; 32 33 button3.backgroundColor = [UIColor greenColor]; 34 35 [self.window addSubview:button3];
UIButton 4 按钮点击后连接事件(即实现某个特定的方法)
1 //添加事件(添加方法)(注册事件) 2 3 UIButton * button4 = [UIButton buttonWithType:UIButtonTypeCustom]; 4 5 6 7 [button4 addTarget:self action:@selector(onClick:) forControlEvents:UIControlEventTouchDown]; 8 9 //01.UIControlEventTouchUpInside 最常用的一个方法,即按键按下去,松开的一瞬间,按钮的功能才会被触发 10 11 //02.target - action 目标动作机制 12 13 //03.给target对象发送action消息(让target调用action方法) 14 15 //04.UIControlEventTouchUpInside 触发条件 16 17 //05.只有满足ControlEvents条件,才会给target发送action消息 18 19 //06.self代表的并不是button4 ,self代表的是appdelegate对象,如果target没有action的方法,点击按钮会崩溃 20 21 button4.frame = CGRectMake(0, 180, 320, 30); 22 23 button4.backgroundColor = [UIColor grayColor]; 24 25 [self.window addSubview:button4]; 26 27 28 29 [self.window makeKeyAndVisible]; 30 31 return YES; 32 33 }
button的action中的方法
1 -(void)onClick:(id)btn{//btn = button4 2 3 4 5 //设置一个静态变量 i 来记录,按钮点击了多少次 6 7 static int i = 0; 8 9 if (!_label) { 10 11 _label = [[UILabel alloc]initWithFrame:CGRectMake(100, 220, 100, 100)]; 12 13 } 14 15 _label.text = [NSString stringWithFormat:@"我被点了%d次",i++]; 16 17 _label.backgroundColor = [UIColor blueColor]; 18 19 _label.adjustsFontSizeToFitWidth = YES; 20 21 [self.window addSubview:_label]; 22 23 24 25 [btn setBackgroundColor:[UIColor redColor]]; 26 27 }