UIButton的基本属性和方法
2016-07-23 08:57
453 查看
UIButton是继承UIControl的子类,而UIControl的又是从UIview中派生出来的.下面介绍UIButton的一些常用属性和方法:
1.UIButoon可使用initWithFrame,buttonWithType两张方法创建
1) initWithFrame方法:
2) buttonWithType方法:
btn2的响应事件:
UIButtonType:
2.UIButton的状态:
3.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
相关文章推荐
- UIButton常用方法和属性
- 一步一步安装UEFI分区方式的windows 10 企业版
- UICollectionViewCell的四种创建方式
- UICollectionViewCell的四种创建方法
- UICollectionView的几种创建方法
- QT中实现UI部件自定义控件-通过部件提升
- GAME TIMERS: ISSUES AND SOLUTIONS.
- Why Does Qt Use Moc for Signals and Slots(QT官方的解释:GUI可以是动态的)
- ST表与二分 (CodeForces 689D-Friends and Subsequences)
- UITableView的性能优化? 滑动的时候有种卡的感觉是为什么?怎么解决?
- Basic_Android关于buildToolVersion与CompileSdkVersion
- Cannot create PoolableConnectionFactory (Communications link failure due to underlying exception 解决
- 52. N-Queens II
- JSP页面中的request.getContextPath()报错问题
- UIAlertController的使用
- 【STL记录】Containers--Deques
- [LeetCode] Wiggle Subsequence 摆动子序列
- 2016ACM暑假集训 - 4 Values whose Sum is 0
- 【Leetcode】Wiggle Subsequence
- 51.In a system, large online transaction processing (OLTP) jobs run during the daytime that require