【发布时间】:2014-10-04 07:58:11
【问题描述】:
我正在制作一个自定义 iOS 键盘,并有一个 UIControl 子类来表示我的按钮。我正在尝试获得与普通 iOS 键盘相同的行为:
- 用户开始触摸一个按钮
- 用户拖过其他按钮(需要检测到这一点,以便他们可以相应地突出显示/取消突出显示)
- 当用户抬起手指时注册实际的键盘“按下”;即触摸结束
我正在使用这样的触摸跟踪方法进行测试:
- (BOOL)beginTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event
{
[super beginTrackingWithTouch:touch withEvent:event];
NSLog(@"Begin for %@", [self label]);
return YES;
}
- (BOOL)continueTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event
{
[super continueTrackingWithTouch:touch withEvent:event];
NSLog(@"Continue for %@", [self label]);
return YES;
}
- (void)endTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event
{
[super endTrackingWithTouch:touch withEvent:event];
NSLog(@"End for %@", [self label]);
}
这些方法都被调用,除了它们只在触摸开始的 UIControl 上被调用。
识别所有按钮上来来去去的触摸的最佳方法是什么?我必须通过父视图完成所有操作吗?
【问题讨论】:
标签: ios objective-c