我有一张图片,我想拥有它,所以当我点击图片的某个部分时,只有该部分会突出显示。目前为了测试这一点,我已经设置了一个应用程序并在背面放置了一个图像视图。我刚刚创建了一个图像并在上面写了 1,2,3 和 4。然后我使用 UIView 在图像中绘制水平和垂直线
我已经设置了一个点击手势监听器,它会打印出我点击了哪个部分。下面的代码
- (void)handleSingleTap:(UITapGestureRecognizer *)recognizer
{
// Get the location of the touch
CGPoint touchPoint = [recognizer locationOfTouch:0 inView:[self view]];
if(touchPoint.x > 10 && touchPoint.x < 160)
{
if(touchPoint.y > 30 && touchPoint.y < 220)
{
NSLog(@"Button 1");
}else if(touchPoint.y > 220 && touchPoint.y < 430){
NSLog(@"Button 3");
}
}else if(touchPoint.x > 160 && touchPoint.x < 310)
{
if(touchPoint.y > 220 && touchPoint.y < 430)
{
NSLog(@"Button 4");
}else if(touchPoint.y > 30 && touchPoint.y < 220){
NSLog(@"Button 2");
}
}
//For debugging
// NSLog(@"x = %f y = %f", touchPoint.x, touchPoint.y);
}
现在我想要发生的是,当我单击特定部分时,我只想突出显示图像的那一部分。这可能吗?目前我正在使用的解决方法是在网格顶部添加 4 个按钮,这些按钮在正常状态下是隐藏的,并为它们提供一个像这样突出显示状态的图像
[button setBackgroundImage:[UIImage imageNamed:@"highlightImage.png"] forState:UIControlStateHighlighted];
并将 alpha 设置为 0.5 或附近的某个值,因此看起来该部分正在突出显示。如果这是唯一可以做到的方法,那么只需留下一个答案,我会接受它,但如果有可用的解决方案,我更喜欢更具体的解决方案!提前致谢
创建的图像示例