我正在尝试查看用户是否从一个视图,标签等一直滑到另一个视图。
这是我的相关代码
ViewController.h:
@property (strong, nonatomic) IBOutlet UITextField *textField;
@property (strong, nonatomic) IBOutlet UILabel *swipeBegin;
@property (strong, nonatomic) IBOutlet UILabel *swipeEnd;
TextField:显示整件事是否成功
SwipeBegin:滑动开始的标签。
SwipeEnd:滑动应该结束的标签。
ViewController.m:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch = [touches anyObject];
if ([touch view] == swipeBegin) {
gestureStartPointTouched = YES;
}
如果滑动开始于“swipeBegin”,则bool值设置为YES。
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch = [touches anyObject];
if ([touch view] == swipeEnd) {
if (gestureStartPointTouched == YES) {
[TextField setText:@"Success"];
}
}
如果我开始在“swipeBegin”处滑动,则调用touchesBegan方法 - >工作正常
令人不安的部分是touchesEnded方法。
if([touch view] == swipeEnd)
无论我怎么做,都是假的。
有人有建议吗?
谢谢!中文
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
if ([self.view hitTest:[[touches anyObject] locationInView:self.view] withEvent:event] == SwipeEnd) {
if (gestureStartPointTouched == YES) {
[TextField setText:@"Success"];
}
}
答案 0 :(得分:0)
触摸视图永远不会改变,如果它在swipeBegin中始终是它的视图。如果你想找到它结束的地方,请使用触摸的结束位置hitTest:withEvent:
,这将返回你正在寻找的视图。