(一)常规操作
1.定义一个按钮,名为btn,横坐标10,纵坐标0,宽100,高30
UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(10, 0, 100, 30)];
2.设置按钮名称为:排行榜;
forState: 这个参数的作用是定义按钮的文字或图片在何种状态下才会显现
[btn setTitle:@"排行榜" forState:UIControlStateNormal];
3.为按钮添加处理事件:处理事件方法名为:onBtnClicked
addTarget:self 的意思是说,这个方法在本类中也可以传入其他类的指针
[btn addTarget:self action:@selector(onBtnClicked:) forControlEvents:UIControlEventTouchUpInside];
关于forControlEvents参数:
UIControlEventTouchDown
单点触摸按下事件:用户点触屏幕,或又有新手指落下的时候
UIControlEventTouchDownRepeat
多点触摸按下事件,点触计数大于1:用户按下第二、三、或第四根手指的时候。
UIControlEventTouchDragInside
当一次触摸在控件窗口内拖动时。
UIControlEventTouchDragOutside
当一次触摸在控件窗口之外拖动时。
UIControlEventTouchDragEnter
当一次触摸从控件窗口之外拖动到内部时。
UIControlEventTouchDragExit
当一次触摸从控件窗口内部拖动到外部时。
UIControlEventTouchUpInside
所有在控件之内触摸抬起事件。
UIControlEventTouchUpOutside
所有在控件之外触摸抬起事件(点触必须开始与控件内部才会发送通知)。
UIControlEventTouchCancel
所有触摸取消事件,即一次触摸因为放上了太多手指而被取消,或者被上锁或者电话呼叫打断。
UIControlEventTouchChanged
当控件的值发生改变时,发送通知。用于滑块、分段控件、以及其他取值的控件。你可以配置滑块控件何时发送通知,在滑块被放下时发送,或者在被拖动时发送。
UIControlEventEditingDidBegin
当文本控件中开始编辑时发送通知。
UIControlEventEditingChanged
当文本控件中的文本被改变时发送通知。
UIControlEventEditingDidEnd
当文本控件中编辑结束时发送通知。
UIControlEventEditingDidOnExit
当文本控件内通过按下回车键(或等价行为)结束编辑时,发送通知。
UIControlEventAlltouchEvents
通知所有触摸事件。
UIControlEventAllEditingEvents
通知所有关于文本编辑的事件。
UIControlEventAllEvents
通知所有事件。
4.设置按钮名称字体大小,颜色:大小为15,颜色为:黑色
[btn.titleLabel setFont:[UIFont systemFontOfSize:15]]; [btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
5.设置边框
[btn.layer setCornerRadius:10.0]; [btn.layer setBorderWidth:1.0]; [btn.layer setBorderColor:[UIColor redColor].CGColor];
先设置边框样式为:圆角矩形,且圆角半径为10
再设置边框宽度为1
然后设置边框颜色为:红色
注:另一种设置边框颜色的方法
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); CGColorRef colorref = CGColorCreate(colorSpace,(CGFloat[]){ 0, 0, 0, 1 }); [btn.layer setBorderColor:colorref];//边框颜色
6.将按钮加入视图
[viewSon.view addSubview:btn];
viewSon为待被加入按钮的view视图
(二)事件处理
在控制台输出: 这是btn按钮
- (void)onBtnClicked:(UIButton*)button{ NSLog(“这是btn按钮”); }
注:与上面的创建放在同一个viewController中