您的位置:首页 > 产品设计 > UI/UE

UIButton的基本属性和方法

2016-07-23 08:57 453 查看
UIButton是继承UIControl的子类,而UIControl的又是从UIview中派生出来的.下面介绍UIButton的一些常用属性和方法:

1.UIButoon可使用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方法:

//buttonWithType初始化按钮
UIButton *btn2=[UIButton buttonWithType:UIButtonTypeRoundedRect];
CGRect rect=CGRectMake(60, 160, 200, 60);
btn2.frame=rect;  //设置button的frame
btn2.tag=1001;      //设置tag值
btn2.backgroundColor=[UIColor colorWithRed:30/255.0 green:200/255.0 blue:125/255.0 alpha:1.0];      //使用rgb设置按钮的背景颜色
[btn2 setTitle:@"btn2" forState:UIControlStateNormal];          //为按钮设置标题
[btn2 addTarget:self action:@selector(btn2Pressed) forControlEvents:UIControlEventTouchDown];   //为按钮添加事件
[self.view addSubview:btn2];


btn2的响应事件:

-(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;


2.UIButton的状态:

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
};


3.UIButton的事件类型:

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: