按下uibutton点击触发事件到手指从屏幕离开,总共可以触发哪些函数

主题 : UIButton的 UIControlEventTouchDown问题
级别: 新手上路
可可豆: 50 CB
威望: 50 点
在线时间: 211(时)
发自: Web Page
UIButton的 UIControlEventTouchDown问题&&&
技术问题发到问答:我知道,我仍旧要在论坛继续发布问题
  BallButtonEx* btnBall = [BallButtonEx buttonWithType:UIButtonTypeCustom];
frame.size.width = imageSelectBG.size.width*3/4; frame.size.height = imageSelectBG.size.height*3/4; frame.origin.x = nXPos + (imageSelectBG.size.width*3/4+4)*nColCount+10; frame.origin.y = nYPos+8;
btnBall.frame = [btnBall setBallImage:imageUnselectBG selectImage:imageSelectBG]; [btnBall setNumber:i-1]; btnBall.tag = startTag+i; [btnBall addTarget:self action:@selector(buttonBallAction:) forControlEvents:UIControlEventTouchDown];问题出在,如果用UIControlEventTouchUpInside的话, buttonBallAction在手指松开时有响应,  但是如果用UIControlEventTouchDown的话,手指按下时没反应,手指松开时却有响应,效果变成跟TouchUpInside一样了, 这个在我的项目中不管是XIB还是代码直接生成都是这样,UIControlEventTouchDown触发方式变成跟UIControlEventTouchUpInside一样了,请问,有高手知道是怎么回事吗
级别: 新手上路
可可豆: 50 CB
威望: 50 点
在线时间: 211(时)
发自: Web Page
不知道有没有知道一些思路的,因为我这项目比较大,也不能放出来,所以想知道的请帮忙一下
级别: 新手上路
可可豆: 312 CB
威望: 312 点
在线时间: 83(时)
发自: Web Page
ios7 问题? 解决了没有
脚本帝,推荐各种脚本(python,perl,ruby,lua)应用:
级别: 新手上路
UID: 267798
可可豆: 158 CB
威望: 152 点
在线时间: 128(时)
发自: Web Page
你在试下按下去然后手指滑到按钮外 看下有没有区别
级别: 侠客
可可豆: 411 CB
威望: 411 点
在线时间: 121(时)
发自: Web Page
楼主有解决没?我也遇到了同样地问题,在线等啊!!!!
级别: 新手上路
UID: 45105
可可豆: 347 CB
威望: 323 点
在线时间: 390(时)
发自: Web Page
我想问,你是不是在IOS7上开发的。如果是的话,继续往在看。 UIControlEventTouchDown 此事件是手指碰到按钮就调用了。 这样在IOS7上会有一个冲突。&&IOS7以后增加了手势滑动返回。 在手势滑动返回的那个区域是不允许有UIControlEventTouchDown事件的。 不然的话,就会有事件冲突了。 系统不知道是要准备返回 还是要点那个BUTTON。 。 解决方法:&&&& self.navigationController.interactivePopGestureRecognizer.delaysTouchesBegan=NO;把滑动返回的UIControlEventTouchDown事件让给其他UI控件 , 案例: 微信聊天界面的长按开始录音 按钮的 touchDown事件
Time is money, 提高效率, 争取最大收益。
级别: 新手上路
可可豆: 1 CB
威望: 1 点
在线时间: 11(时)
发自: Web Page
回 5楼(www7789) 的帖子
太赞了, 终于搞明白&&UIControlEventTouchDown 的问题。
级别: 新手上路
可可豆: 213 CB
威望: 174 点
在线时间: 292(时)
发自: Web Page
哥的还是不行啊。&&self.navigationController.interactivePopGestureRecognizer.delaysTouchesBegan=NO; 求解答
关注本帖(如果有新回复会站内信通知您)
9*6-8 正确答案:46
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版IOS开发之UIButton详解
//这里创建一个圆角矩形的按钮
&&& UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
//&&& 能够定义的button类型有以下6种,
//&&& typedef enum {
//&&&&&&& UIButtonTypeCustom = 0,&&&&&&&&& 自定义风格
//&&&&&&& UIButtonTypeRoundedRect,&&&&&&&& 圆角矩形
//&&&&&&& UIButtonTypeDetailDisclosure,&&& 蓝色小箭头按钮,主要做详细说明用
//&&&&&&& UIButtonTypeInfoLight,&&&&&&&&&& 亮色感叹号
//&&&&&&& UIButtonTypeInfoDark,&&&&&&&&&&& 暗色感叹号
//&&&&&&& UIButtonTypeContactAdd,&&&&&&&&& 十字加号按钮
//&&& } UIButtonT
&&& //给定button在view上的位置
&&& button1.frame = CGRectMake(20, 20, 280, 20);
&&& //button背景色
&&& button1.backgroundColor = [UIColor clearColor];
&&& //设置button填充图片
&&& //[button1 setImage:[UIImage imageNamed:@&btng.png&] forState:UIControlStateNormal];
&&& //设置button标题
&&& [button1 setTitle:@&点击& forState:UIControlStateNormal];
&&& /* forState: 这个参数的作用是定义按钮的文字或图片在何种状态下才会显现*/
&&& //以下是几种状态
//&&& enum {
//&&&&&&& UIControlStateNormal&&&&&& = 0,&&&&&&&& 常规状态显现&&&&&&&&&&&&&
//&&&&&&& UIControlStateHighlighted& = 1 && 0,&&& 高亮状态显现&&&
//&&&&&&& UIControlStateDisabled&&&& = 1 && 1,&&& 禁用的状态才会显现
//&&&&&&& UIControlStateSelected&&&& = 1 && 2,&&& 选中状态&&&&&&&&&&&&&
//&&&&&&& UIControlStateApplication& = 0x00FF0000, 当应用程序标志时&&&&&&&&&&&
//&&&&&&& UIControlStateReserved&&&& = 0xFF000000& 为内部框架预留,可以不管他&&&&&&&&&&&&
&&&& * 默认情况下,当按钮高亮的情况下,图像的颜色会被画深一点,如果这下面的这个属性设置为no,
&&&& * 那么可以去掉这个功能
&&& button1.adjustsImageWhenHighlighted = NO;
&&& /*跟上面的情况一样,默认情况下,当按钮禁用的时候,图像会被画得深一点,设置NO可以取消设置*/
&&& button1.adjustsImageWhenDisabled = NO;
&&& /* 下面的这个属性设置为yes的状态下,按钮按下会发光*/
&&& button1.showsTouchWhenHighlighted = YES;
&&& /* 给button添加事件,事件有很多种,我会单独开一篇博文介绍它们,下面这个时间的意思是
&&&& 按下按钮,并且手指离开屏幕的时候触发这个事件,跟web中的click事件一样。
&&&& 触发了这个事件以后,执行butClick:这个方法,addTarget:self 的意思是说,这个方法在本类中
&&&& 也可以传入其他类的指针*/
&&& [button1 addTarget:self action:@selector(butClick:) forControlEvents:UIControlEventTouchUpInside];
&&& //显示控件
&&& [self.view addSubview:button1];当前访客身份:游客 [
当前位置:
发布于 日 12时,
&无详细内容&
代码片段(1)
1.&[代码][C/C++]代码&&&&
//这里创建一个圆角矩形的按钮
UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
能够定义的button类型有以下6种,
typedef enum {
UIButtonTypeCustom = 0,
自定义风格
UIButtonTypeRoundedRect,
UIButtonTypeDetailDisclosure,
蓝色小箭头按钮,主要做详细说明用
UIButtonTypeInfoLight,
亮色感叹号
UIButtonTypeInfoDark,
暗色感叹号
UIButtonTypeContactAdd,
十字加号按钮
} UIButtonT
//给定button在view上的位置
button1.frame = CGRectMake(20, 20, 280, 20);
//button背景色
button1.backgroundColor = [UIColor clearColor];
//设置button填充图片
//[button1 setImage:[UIImage imageNamed:@"btng.png"] forState:UIControlStateNormal];
//设置button标题
[button1 setTitle:@"点击" forState:UIControlStateNormal];
/* forState: 这个参数的作用是定义按钮的文字或图片在何种状态下才会显现*/
//以下是几种状态
UIControlStateNormal
常规状态显现
UIControlStateHighlighted
高亮状态显现
UIControlStateDisabled
禁用的状态才会显现
UIControlStateSelected
UIControlStateApplication
= 0x00FF0000, 当应用程序标志时
UIControlStateReserved
= 0xFF000000
为内部框架预留,可以不管他
* 默认情况下,当按钮高亮的情况下,图像的颜色会被画深一点,如果这下面的这个属性设置为no,
* 那么可以去掉这个功能
button1.adjustsImageWhenHighlighted = NO;
/*跟上面的情况一样,默认情况下,当按钮禁用的时候,图像会被画得深一点,设置NO可以取消设置*/
button1.adjustsImageWhenDisabled = NO;
/* 下面的这个属性设置为yes的状态下,按钮按下会发光*/
button1.showsTouchWhenHighlighted = YES;
/* 给button添加事件,事件有很多种,我会单独开一篇博文介绍它们,下面这个时间的意思是
按下按钮,并且手指离开屏幕的时候触发这个事件,跟web中的click事件一样。
触发了这个事件以后,执行butClick:这个方法,addTarget:self 的意思是说,这个方法在本类中
也可以传入其他类的指针*/
[button1 addTarget:self action:@selector(butClick:) forControlEvents:UIControlEventTouchUpInside];
//显示控件
[self.view addSubview:button1];
开源中国-程序员在线工具:
如果我butClick:函数想传递参数呢?比如butClick:(int)i 要怎么处理
2楼:墨和米说 发表于
引用来自“绝缘体502”的评论如果我butClick:函数想传递参数呢?比如butClick:(int)i 要怎么处理
传递参数你可以试试自定义Button,如果有不明白可以问我
开源从代码分享开始
ClownFish的其他代码当前位置:
& Swift - 按钮(UIButton)的用法
Swift - 按钮(UIButton)的用法
发布:yuhang
浏览:6003
1,按钮的创建
(1)按钮有下面四种类型:
UIButtonType.ContactAdd:前面带“+”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果
UIButtonType.DetailDisclosure:前面带“!”图标按钮,默认文字颜色为蓝色,有触摸时的高亮效果
UIButtonType.System:前面不带图标,默认文字颜色为蓝色,有触摸时的高亮效果
UIButtonType.Custom:定制按钮,前面不带图标,默认文字颜色为白色,无触摸时的高亮效果
Dark:为感叹号“!”圆形按钮
Light:为感叹号“!”圆形按钮
//创建一个ContactAdd类型的按钮
var button:UIButton = UIButton.buttonWithType(UIButtonType.ContactAdd) as UIB
//设置按钮位置和大小
button.frame=CGRectMake(10, 150, 100, 30);
//设置按钮文字
button.setTitle("按钮", forState:UIControlState.Normal)
self.view.addSubview(button);
(2)对于Custom定制类型按钮,代码可简化为:
var button = UIButton(frame:CGRectMake(10, 150, 100, 30))
2,按钮的文字设置
button.setTitle("普通状态", forState:UIControlState.Normal) //普通状态下的文字
button.setTitle("触摸状态", forState:UIControlState.Highlighted) //触摸状态下的文字
button.setTitle("禁用状态", forState:UIControlState.Disabled) //禁用状态下的文字
3,按钮文字颜色的设置
button.setTitleColor(UIColor.blackColor(),forState: .Normal) //普通状态下文字的颜色
button.setTitleColor(UIColor.greenColor(),forState: .Highlighted) //触摸状态下文字的颜色
button.setTitleColor(UIColor.grayColor(),forState: .Disabled) //禁用状态下文字的颜色
4,按钮文字阴影颜色的设置
button.setTitleShadowColor(UIColor.greenColor(),forState:.Normal) //普通状态下文字阴影的颜色
button.setTitleShadowColor(UIColor.yellowColor(),forState:.Highlighted) //普通状态下文字阴影的颜色
button.setTitleShadowColor(UIColor.grayColor(),forState:.Disabled) //普通状态下文字阴影的颜色
5,按钮背景颜色设置
button.backgroundColor=UIColor.blackColor()
6,按钮文字图标的设置
button.setImage(UIImage(named:"icon1"),forState:.Normal)
//设置图标
button.adjustsImageWhenHighlighted=false //使触摸模式下按钮也不会变暗
button.adjustsImageWhenDisabled=false //使禁用模式下按钮也不会变暗
7,设置按钮背景图片
button.setBackgroundImage(UIImage(named:"background1"),forState:.Normal)
8,按钮触摸点击事件响应
//不传递触摸对象(即点击的按钮)
button.addTarget(self,action:Selector("tapped"),forControlEvents:UIControlEvents.TouchUpInside)
func tapped(){
println("tapped")
//传递触摸对象(即点击的按钮),需要在定义action参数时,方法名称后面带上冒号
button.addTarget(self,action:Selector("tapped:"),forControlEvents:UIControlEvents.TouchUpInside)
func tapped(button:UIButton){
println(button.titleForState(.Normal))
常用的触摸事件类型:TouchDown:单点触摸按下事件,点触屏幕TouchDownRepeat:多点触摸按下事件,点触计数大于1,按下第2、3或第4根手指的时候TouchDragInside:触摸在控件内拖动时TouchDragOutside:触摸在控件外拖动时TouchDragEnter:触摸从控件之外拖动到内部时TouchDragExit:触摸从控件内部拖动到外部时TouchUpInside:在控件之内触摸并抬起事件TouchUpOutside:在控件之外触摸抬起事件TouchCancel:触摸取消事件,即一次触摸因为放上太多手指而被取消,或者电话打断

我要回帖

更多关于 uibutton点击触发事件 的文章

 

随机推荐