Rex*_*ids 19 iphone cocoa-touch multi-touch uibutton
当你按住D-Pad上的右键时,你知道Mario是如何继续向右跑的吗?以同样的方式,我希望我的UIButton在按下它的持续时间内不断激活它的动作.这可能是UIButton吗?如果没有,是否可以通过以某种方式覆盖触摸处理方法来处理UIImageView?实际上,在尝试用UIButton完成之前,我有一些UIImageViews(安排作为D-Pad),通过触摸处理方法检查但事情开始变得混乱所以我认为这可以通过UIButton更容易完成,因此切换.任何知道如何识别连续,静止(未移动)向下触摸的人,请分享.
Bri*_*ont 42
您也可以执行类似于上一个答案中显示的内容,并仍然使用UIButton.
只需让定时器在"Touch Down"上启动,并让定时器停在"Touch Up Inside"或"Touch Up Outside"上.
就个人而言,我喜欢使用UIButton,因为它们提供了一些内置的视觉增强功能,您无需自己编写代码.
Cha*_*aos 32
不要使用按钮,使用多点触控和NSTimer:
在界面中创建一个视图本地NSTimer对象,然后使用它来启动/取消计时器
-(void)movePlayer:(id)sender {
<Code to move player>
}
-(void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {
timer = [NSTimer scheduledTimerWithTimeInterval:0.3 target:self selector:@selector(movePlayer:) userInfo:nil repeats:YES];
}
-(void)touchesEnded:(NSSet*)touches withEvent:(UIEvent*)event {
if (timer != nil)
[timer invalidate];
timer = nil;
}
-(void)touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event {
if (timer != nil) {
[timer invalidate];
timer = nil;
}
}
Run Code Online (Sandbox Code Playgroud)
这样,您可以按预定义的间隔重复事件,而不必依赖按钮,并获得您正在寻找的重复行为.注意touchesMoved触发器 - 如果他们移动手指,这将取消计时器,并且播放器停止移动.
| 归档时间: |
|
| 查看次数: |
17169 次 |
| 最近记录: |