UI基础UIButton的定义是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

成都创新互联公司专注网站设计,以设计驱动企业价值的持续增长,网站,看似简单却每一个企业都需要——设计,看似简洁却是每一位设计师的心血 10年来,我们只专注做网站。认真对待每一个客户,我们不用口头的语言来吹擂我们的优秀,超过千家的成功案例见证着我们的成长。
前面写了UIWindow、UIViewController,那些都是一些框架,框架需要填充上具体的view才能组成我们的应用,移动应用开发中UI占了很大一部分,最基础的UI实现是使用系统提供的各种控件,其他的就是自定义实现了,作者目前是入门状态,只能写写基础控件了。
iOS中提供了UIButton、UILable、UITextField、UIImageView等基础UI控件,继承于UIView。这里先拿UIButton练练手,为什么拿UIButton呢,因为UIbutton继承自UIControl,UIControl派生自UIView类,每个控件都有很多视图的特性,包括附着于其他视图的能力,所有控件都拥有一套共同的属性和方法,包含显示内容,点击事件等等,UIControl的子类都有事件处理能力。
UIButton的定义:
UIButton可使用 initWithFrame、buttonWithType两种方式创建:
1)initWithFrame
UIButton *btn=[[UIButton alloc]initWithFrame:CGRectMake(60, 60, 200, 60)]; btn.backgroundColor=[UIColor greenColor]; [btn setTitle:@"btn1" forState:UIControlStateNormal]; [self.view addSubview:btn];
2)buttonWithType
UIButton *btn2=[UIButton buttonWithType:UIButtonTypeRoundedRect]; CGRect rect=CGRectMake(60, 160, 200, 60); btn2.frame=rect; btn2.tag=1001; btn2.backgroundColor=[UIColor colorWithRed:30/255.0 green:200/255.0 blue:125/255.0 alpha:1.0]; [btn2 setTitle:@"btn2" forState:UIControlStateNormal]; [btn2 addTarget:self action:@selector(btn2Pressed) forControlEvents:UIControlEventTouchDown]; [self.view addSubview:btn2];
btn2Pressed方法:
-(void)btn2Pressed{      NSLog(@"button pressed"); }UIButtonType:
typedef enum {     UIButtonTypeCustom = 0,           // no button type   自定义,无风格     UIButtonTypeRoundedRect,          // rounded rect, flat white button, like in address card 白色圆角矩形,类似偏好设置表格单元或者地址簿卡片     UIButtonTypeDetailDisclosure,//蓝色的披露按钮,可放在任何文字旁     UIButtonTypeInfoLight,//微件(widget)使用的小圆圈信息按钮,可以放在任何文字旁     UIButtonTypeInfoDark,//白色背景下使用的深色圆圈信息按钮     UIButtonTypeContactAdd,//蓝色加号(+)按钮,可以放在任何文字旁 } UIButtonType;UIButton常用属性:
//设置对应状态的标题内容default is nil. title is assumed to be single line
- (void)setTitle:(NSString *)title forState:(UIControlState)state;
//设置对应状态的标题颜色
- (void)setTitleColor:(UIColor *)color forState:(UIControlState)state;
//设置对应状态的标题阴影颜色
- (void)setTitleShadowColor:(UIColor *)color forState:(UIControlState)state;
//设置对应状态的按钮的图片
- (void)setImage:(UIImage *)image forState:(UIControlState)state;
//设置对应状态的按钮背景图片
- (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state;
UIButton的UIControlState :
typedef NS_OPTIONS(NSUInteger, UIControlState) {     UIControlStateNormal       = 0,     UIControlStateHighlighted  = 1 << 0,                  // used when UIControl isHighlighted is set     UIControlStateDisabled     = 1 << 1,     UIControlStateSelected     = 1 << 2,                  // flag usable by app (see below)     UIControlStateApplication  = 0x00FF0000,              // additional flags available for application use     UIControlStateReserved     = 0xFF000000               // flags reserved for internal framework use };更多属性可参考官方文档。
UIButton添加事件:
UIButton使用如下方法添加事件。
[btn addTarget:<#(id)#> action:<#(SEL)#> forControlEvents:<#(UIControlEvents)#>]
这些事件都是基于触摸、基于值、基于编辑。可相应如下事件。
typedef NS_OPTIONS(NSUInteger, UIControlEvents) {     UIControlEventTouchDown           = 1 <<  0,      // on all touch downs     UIControlEventTouchDownRepeat     = 1 <<  1,      // on multiple touchdowns (tap count > 1)     UIControlEventTouchDragInside     = 1 <<  2,     UIControlEventTouchDragOutside    = 1 <<  3,     UIControlEventTouchDragEnter      = 1 <<  4,     UIControlEventTouchDragExit       = 1 <<  5,     UIControlEventTouchUpInside       = 1 <<  6,     UIControlEventTouchUpOutside      = 1 <<  7,     UIControlEventTouchCancel         = 1 <<  8,      UIControlEventValueChanged        = 1 << 12,     // sliders, etc.      UIControlEventEditingDidBegin     = 1 << 16,     // UITextField     UIControlEventEditingChanged      = 1 << 17,     UIControlEventEditingDidEnd       = 1 << 18,     UIControlEventEditingDidEndOnExit = 1 << 19,     // 'return key' ending editing      UIControlEventAllTouchEvents      = 0x00000FFF,  // for touch events     UIControlEventAllEditingEvents    = 0x000F0000,  // for UITextField     UIControlEventApplicationReserved = 0x0F000000,  // range available for application use     UIControlEventSystemReserved      = 0xF0000000,  // range reserved for internal framework use     UIControlEventAllEvents           = 0xFFFFFFFF };看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。
文章题目:UI基础UIButton的定义是什么
文章来源:http://www.cqwzjz.cn/article/jeegoo.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 