gpt4 book ai didi

iphone - 如何将iPhone点击手势识别限制在圆形图像内?

转载 作者:行者123 更新时间:2023-12-03 18:58:59 28 4
gpt4 key购买 nike

我试图在 iPhone View 上放置一个圆形图像,然后在圆内而不是在圆外消耗点击。我遇到的问题是,当我在 Interface Builder 中将 UIImageView 放置在屏幕 View 上时,我似乎被限制为矩形形状。我尝试使用圆形图像,其中圆形外部区域保持透明,但整个图像仍然是矩形,因此当将其放置在 UIImageView 上并连接以识别点击手势时,它仍然会拾取圆形本身外部的点击.

下图显示了我的意思。蓝点代表保存图像的 UIImageView 的外边框。点击手势识别当前链接到该 UIImageView,但如您所见,UIImageView 的角上有一些未被圆形图像覆盖的空间。有没有什么方法可以使 UIImageView 符合非矩形形状,或者在不使用 UIImageView 的情况下将图像放置在 View 上,并且仍然能够连接点击识别?

image of walter with transparent background on a UIImageView http://img237.imageshack.us/img237/2164/walterheadshot.png

我对 iPhone 图形还很陌生,但是有人对此有一些想法或者可以为我指出正确的方向吗?

谢谢!

最佳答案

假设是一个圆形,而不仅仅是一个椭圆形:

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
CGFloat halfSize = [self bounds].size.width * 0.5f;
CGPoint location = [[touches anyObject] locationInView:self];
location.x -= halfSize;
location.y -= halfSize;
CGFloat squaredDistanceFromCenter = location.x * location.x + location.y + location.y;
if (squaredDistanceFromCenter < (halfSize * halfSize)) {
NSLog(@"Within circle :)");
} else {
NSLog(@"Not within circle :(");
}
}

关于iphone - 如何将iPhone点击手势识别限制在圆形图像内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3322812/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com