在我的应用程序中,我使用一个按钮,我分配了两种方法,他们之一,当你触摸(按钮图像被改变)工作,另一个工作时,当你触摸在里面(另一个视图被打开)。简单地说,如果你想打开一个视图,你可以按下按钮,但是当你触摸按钮时,图像会被改变,并且在你抬起手指之后,另一个视图被打开。我的问题是,如果按下按钮图像被更改,但是如果您将手指移动到远离按钮的位置,则内部触摸不起来,因为它应该是。但问题在于图像坚持其超版本,因为触发一次就会触发。我该怎么办?谢谢iphone开发:使用触摸并同时触摸内
0
A
回答
3
您可以在控制状态touchDragOutside
或touchDragExit
中处理此操作,具体取决于您希望执行的操作。使用touchDragOutside
,您可以检测用户何时触摸按钮内部并拖动手指而不离开按钮的可触摸边界,并且touchDragExit
可以检测到它们何时拖出按钮可触摸边界。
[button addTarget:self action:@selector(someMethod:) forControlEvents:UIControlEventTouchDragExit];
[button addTarget:self action:@selector(someMethod:) forControlEvents:UIControlEventTouchDragOutside];
2
我建议你使用UIButton对象的这种方法来改变图像。
- (void)setImage:(UIImage *)image forState:(UIControlState)state
为国家所有的选项我将使用状态UIControlStateNormal和UIControlStateHighlighted为你的目标。
0
我面临这个问题我自己,主要是我们使用这些事件: -
//此事件正常工作和火灾
[按钮addTarget:自我行动:@selector(压紧)forControlEvents:UIControlEventTouchDown ]。
//这不火都
[按钮addTarget:自我行动:@selector(holdRelease)forControlEvents:UIControlEventTouchUpInside]。
解决方案: -
使用长按手势识别器: -
UILongPressGestureRecognizer *btn_LongPress_gesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleBtnLongPressgesture:)];
[button addGestureRecognizer:btn_LongPress_gesture];
执行的手势: -
- (void)handleBtnLongPressgesture:(UILongPressGestureRecognizer *)recognizer{
//as you hold the button this would fire
if (recognizer.state == UIGestureRecognizerStateBegan) {
[self someMethod];
}
//as you release the button this would fire
if (recognizer.state == UIGestureRecognizerStateEnded) {
[self someMethod];
}
}
相关问题
- 1. 触摸时更大触摸
- 2. 2同时安卓触摸/未触发
- 3. 触摸并按住 - iPhone cocos2d
- 4. 触摸Cocos2d + Box2d - Iphone游戏开发
- 5. ACTION_CANCEL同时触摸
- 6. UIButton同时触摸内部和触摸重复?
- 7. 同时使用触摸和触摸手势识别器
- 8. 触摸UIButton触摸
- 9. 触摸开始与多点触摸让
- 10. 在iPhone中触摸时展开UIButton
- 11. Android虽然触摸和触摸发布
- 12. 触摸次数变化时为什么触摸不会触发?
- 13. iPhone:多点触摸
- 14. 触摸和触摸之间的时间
- 15. 取消触摸它时的UIButton触摸
- 16. 当我触摸TextView时触摸按钮
- 17. Android开发:第一个触摸= TextView1,第二个触摸= TextView2等
- 18. 如何让动画在触摸时开始并再次触摸时停止?
- 19. iPhone SDK使按钮不可触摸/可触摸
- 20. 触摸开始和触摸结束之间的时间
- 21. 开始sencha触摸
- 22. 何时触摸Rails中的belongs_to触发?
- 23. 触摸CALayer时触发一个动作?
- 24. WinRT处理超过5个触摸同时触摸输入
- 25. 识别仅在发生触摸时创建的UIView的触摸
- 26. 当触摸开始于不同元素时,离子 - 触摸事件?
- 27. 使触摸
- 28. 在支持触摸的浏览器上创建并触发触摸事件?
- 29. 移动电影剪辑,左/右使用触摸事件与同时触摸
- 30. Iphone SDK:移动并旋转触摸