对于之前的UILable的讲解,小懒觉得对于iOS的基本控件无需太多废话,所以经过反思决定还是主要配合代码来展示。
//在此用init初始化一个按钮,并放在屏幕上(50,50)的位置,宽度100,高度30(此时的button.RetainCount = 1)
UIButton *button = [[UIButtonalloc]initWithFrame:CGRectMake(50, 50, 100, 30)];
//添加到屏幕上(此时的button.RetainCount = 2,当我们将一个对象添加到数组时,对象的引用计数会+1)
[self.view addSubview:button];
//(所以如果你与小懒一样使用的时非ARC模式,就在此将button的引用计数-1)
[buttonrelease];
//设置button的背景色为红色
[button setBackgroundColor:[UIColor redColor]];
//设置button的背景图片
[buttonsetBackgroundImage:[UIImage imageNamed: @"1.png" ]forState:UIControlStateNormal];
[buttonsetBackgroundImage:[UIImage imageNamed: @"2.png" ]forState:UIControlStateHighlighted];
//你可能会对我的这两行代码有疑问,很正常,这两句话的意思是button在平时状态下的背景是1,当被点击下去的时候背景图会变成2,当松开时又会变成1,如果你有兴趣可以继续深入的研究下UIButton的UIControlState
//设置button的文本
[button setTitle:@"123"forState:UIControlStateNormal];
[button setTitle:@"4321"forState:UIControlStateHighlighted];
//设置button的文本颜色
[button setTitleColor:[UIColor whiteColor]forState:UIControlStateNormal];
[button setTitleColor:[UIColor blackColor]forState:UIControlStateHighlighted];
//这里forstate参数的不同与上边的作用是一样的
//为button添加关联事件,UIControlEventTouchUpInside当我们点击在button内部并且离开button时也在内部的时候才会触发abcd这个方法,这也是UIButton的一个方便之处,他为我们设置了很多不同的触发方法。
[buttonaddTarget:self action:@selector(abcd)forControlEvents:UIControlEventTouchUpInside];
UIButton很好的解决了在app中的点击事件,但是对已一些特殊要求UIButton不能很好的满足用户的需求,在下一节小懒会为大家介绍另一种点击事件,我们自己做一个button。