我有一个名为myViewClass的UIViewController类。
有一个名为myImageView的UIImage视图。
如何在myImageView上启用触摸事件。
我使用下面的代码在myImageView上启用触摸事件,但myImageView触摸事件在每个myViewClass或UI点击时触发。
任何人都可以告诉我如何避免这种情况。我只需要在myImageView上启用触摸事件,当用户点击myImageView时。
我使用下面的代码在myImageView上启用触摸事件:
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
[imageview setFrame: CGRectMake(30,70,375,225)];
[imageview.layer setBorderColor: [[UIColor whiteColor] CGColor]];
}
答案 0 :(得分:1)
使用以下代码,您可以判断您的触摸在UIImageView上结束。
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
[super touchesEnded:touches withEvent:event];
UITouch *touch = [touches anyObject];
CGPoint touchEndpoint = [touch locationInView:self.view];
if(CGRectContainsPoint([myImageView frame], touchEndpoint))
{
NSLog("Touch is in UIImageView");
}
}
在上面的代码中,CGRectContainsPoint是帮助确定触摸点是否在图像边界内的主要功能。
这些方式你也可以在touchesBegin中实现。尝试按照您的要求实施。发表评论以获得进一步的帮助。
希望它有所帮助。