iOS控件之UIButton
2016-06-01 12:38
513 查看
按钮控件 UIButton
一,作用:响应用户的点击事件
二,常用属性
// 设置指定状态对应的标题文本
- (void)setTitle:(NSString *)title forState:(UIControlState)state;
// 设置指定状态对应的标题颜色
- (void)setTitleColor:(UIColor *)color forState:(UIControlState)state;
// 设置指定状态对应的显示图片
- (void)setImage:(UIImage *)image forState:(UIControlState)state;
// 设置指定状态对应的背景图片
- (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state;
// 为按钮添加事件
- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
三,UIButton的状态
UIControlStateNormal // 正常状态
UIControlStateHighlighted// 高亮状态
UIControlStateDisabled// 禁用状态
UIControlStateSelected// 选中状态
四,UIButtonDemo
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
self.window.backgroundColor = [UIColor whiteColor];
// 构造方法
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
/*
// 禁用按钮
button.enabled = NO;
// 按钮选中
button.selected = YES;
// 设置标题,状态正常
[button setTitle:@"normal" forState:UIControlStateNormal];
// 设置标题,状态高亮
[button setTitle:@"highlighted" forState:UIControlStateHighlighted];
// 设置标题,状态禁用
[button setTitle:@"disabled" forState:UIControlStateDisabled];
// 设置标题,状态选中
[button setTitle:@"selected" forState:UIControlStateSelected];
// 设置title的颜色
[button setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
*/
// 设置背景图片
[button setBackgroundImage:[UIImage imageNamed:@"love_normal"] forState:UIControlStateNormal];
[button setBackgroundImage:[UIImage imageNamed:@"love_select"] forState:UIControlStateHighlighted];
[button setBackgroundImage:[UIImage imageNamed:@"love_select"] forState:UIControlStateSelected];
// 设置图片
// [button setImage:[UIImage imageNamed:@"love_normal"] forState:UIControlStateNormal];
// [button setImage:[UIImage imageNamed:@"love_select"] forState:UIControlStateSelected];
// 用户在控件内按下抬起时
[button addTarget:self action:@selector(touchUpInside:) forControlEvents:UIControlEventTouchUpInside];
// 用户按下时
[button addTarget:self action:@selector(down) forControlEvents:UIControlEventTouchDown];
// 用户按下时
[button addTarget:self action:@selector(outside) forControlEvents:UIControlEventTouchUpOutside];
// 记录用户多次按下
[button addTarget:self action:@selector(repeat) forControlEvents:UIControlEventTouchDownRepeat];
// 用户由内向外
[button addTarget:self action:@selector(dragExit) forControlEvents:UIControlEventTouchDragExit];
// 用户由外向内
[button addTarget:self action:@selector(dragEnter) forControlEvents:UIControlEventTouchDragEnter];
// 事件的取消 如用户刚点击按钮 来电话了
[button addTarget:self action:@selector(cancel) forControlEvents:UIControlEventTouchCancel];
// 设置frame,与按钮的类型有关
button.frame = CGRectMake(90, 100, 41, 30);
[self.window addSubview:button];
[self.window makeKeyAndVisible];
return YES;
}
- (void)touchUpInside:(UIButton *)button
{
if (button.selected) {
button.selected = NO;
}else {
button.selected = YES;
}
NSLog(@"touchUpInside");
}
- (void)down
{
NSLog(@"down");
}
- (void)outside
{
NSLog(@"outside");
}
- (void)repeat
{
NSLog(@"repeat");
}
- (void)dragExit
{
NSLog(@"dragExit");
}
- (void)dragEnter
{
NSLog(@"dragEnter");
}
- (void)cancel
{
NSLog(@"cancel");
}
一,作用:响应用户的点击事件
二,常用属性
// 设置指定状态对应的标题文本
- (void)setTitle:(NSString *)title forState:(UIControlState)state;
// 设置指定状态对应的标题颜色
- (void)setTitleColor:(UIColor *)color forState:(UIControlState)state;
// 设置指定状态对应的显示图片
- (void)setImage:(UIImage *)image forState:(UIControlState)state;
// 设置指定状态对应的背景图片
- (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state;
// 为按钮添加事件
- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
三,UIButton的状态
UIControlStateNormal // 正常状态
UIControlStateHighlighted// 高亮状态
UIControlStateDisabled// 禁用状态
UIControlStateSelected// 选中状态
四,UIButtonDemo
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
self.window.backgroundColor = [UIColor whiteColor];
// 构造方法
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
/*
// 禁用按钮
button.enabled = NO;
// 按钮选中
button.selected = YES;
// 设置标题,状态正常
[button setTitle:@"normal" forState:UIControlStateNormal];
// 设置标题,状态高亮
[button setTitle:@"highlighted" forState:UIControlStateHighlighted];
// 设置标题,状态禁用
[button setTitle:@"disabled" forState:UIControlStateDisabled];
// 设置标题,状态选中
[button setTitle:@"selected" forState:UIControlStateSelected];
// 设置title的颜色
[button setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
*/
// 设置背景图片
[button setBackgroundImage:[UIImage imageNamed:@"love_normal"] forState:UIControlStateNormal];
[button setBackgroundImage:[UIImage imageNamed:@"love_select"] forState:UIControlStateHighlighted];
[button setBackgroundImage:[UIImage imageNamed:@"love_select"] forState:UIControlStateSelected];
// 设置图片
// [button setImage:[UIImage imageNamed:@"love_normal"] forState:UIControlStateNormal];
// [button setImage:[UIImage imageNamed:@"love_select"] forState:UIControlStateSelected];
// 用户在控件内按下抬起时
[button addTarget:self action:@selector(touchUpInside:) forControlEvents:UIControlEventTouchUpInside];
// 用户按下时
[button addTarget:self action:@selector(down) forControlEvents:UIControlEventTouchDown];
// 用户按下时
[button addTarget:self action:@selector(outside) forControlEvents:UIControlEventTouchUpOutside];
// 记录用户多次按下
[button addTarget:self action:@selector(repeat) forControlEvents:UIControlEventTouchDownRepeat];
// 用户由内向外
[button addTarget:self action:@selector(dragExit) forControlEvents:UIControlEventTouchDragExit];
// 用户由外向内
[button addTarget:self action:@selector(dragEnter) forControlEvents:UIControlEventTouchDragEnter];
// 事件的取消 如用户刚点击按钮 来电话了
[button addTarget:self action:@selector(cancel) forControlEvents:UIControlEventTouchCancel];
// 设置frame,与按钮的类型有关
button.frame = CGRectMake(90, 100, 41, 30);
[self.window addSubview:button];
[self.window makeKeyAndVisible];
return YES;
}
- (void)touchUpInside:(UIButton *)button
{
if (button.selected) {
button.selected = NO;
}else {
button.selected = YES;
}
NSLog(@"touchUpInside");
}
- (void)down
{
NSLog(@"down");
}
- (void)outside
{
NSLog(@"outside");
}
- (void)repeat
{
NSLog(@"repeat");
}
- (void)dragExit
{
NSLog(@"dragExit");
}
- (void)dragEnter
{
NSLog(@"dragEnter");
}
- (void)cancel
{
NSLog(@"cancel");
}
相关文章推荐
- 五分钟搞懂Android的消息机制(Handle,Looper,MessageQueue)
- iOS控件之UILabel
- LeetCode:Increasing Triplet Subsequence
- 1099. Build A Binary Search Tree (30)
- UIRL编码
- 【kaldi】Kaldi tutorial翻译之Prerequisites(前提条件)-kaldi学习前必备梳理
- java.lang.IllegalArgumentException: No converter found for return value of type: class
- SystemUI浅析
- Light oj-1100 - Again Array Queries,又是这个题,上次那个题用的线段树,这题差点就陷坑里了,简单的抽屉原理加暴力就可以了,真是坑~~
- Android 子线程更新UI:handle和runOnUiThread()
- pch文件导入uikit报错 could not build module 'uikit'
- 【iOS开发-91】GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例(转载)
- Codeforces 645E Intellectual Inquiry (贪心+DP)
- Tair-淘宝自主开发的一个分布式key/value存储系统
- j2ee四大作用域pagecontext,request,session,ServletContext(转)
- 三维箭头quiver3的用法
- UEFI BIOS模式下Windows系统启动过程以及引导文件修复方法
- Android标题透明沉浸式UI
- uestc水题CD Making
- MySQL 导入的问题 Lost connection to MySQL server during query