我正在尝试使用UITapGestureRecognizer
更改视图的背景颜色。基本上当用户点击时,我希望背景改变颜色,在发布或完成时,背景颜色会变回零或没有背景颜色。
此操作类似于默认UIButton
,但我需要将其设置为视图。
我尝试使用类似的代码:
- (void)handleTapGesture:(UITapGestureRecognizer *)recognizer
{
if(recognizer.state == UIGestureRecognizerStateBegan) {
self.backgroundColor = [UIColor greenColor];
}
if(recognizer.state == UIGestureRecognizerStateEnded) {
self.backgroundColor = nil;
}
}
没有任何成功。这是了解敲击手势开始和结束的正确方法吗?
答案 0 :(得分:1)
使用这些方法可能更容易,这些方法应该已经成为UIViewController中响应者链的一部分,除非它们已在其他地方处理过了
- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
//CGPoint touchPoint = [[touches anyObject] locationInView:self.view];
NSLog(@"began");
}
- (void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
//CGPoint touchPoint = [[touches anyObject] locationInView:self.view];
NSLog(@"end");
}
答案 1 :(得分:0)
如果您正在使用故事板或通过界面构建器以某种方式使用UIButton,将其拖出一点以将其形成背景,然后您可以设置它以便在收到触摸事件时,使用不同的自定义颜色显示背景图像的持续时间。
希望有所帮助!