gpt4 book ai didi

ios - 如何将圆形 UIButton 的 UIControlEventTouchUpInside 限制在圆圈内?

转载 作者:行者123 更新时间:2023-11-29 10:54:26 25 4
gpt4 key购买 nike

我已经检查了其他关于创建圆形按钮的问题,效果很好 -

button.layer.cornerRadius = button.frame.size.height/2;

但是,我发现按钮响应整个原始框架的 UIControlEventTouchUpInside。如何让它仅在圆形层内响应 UIControlEventTouchUpInside 事件?

谢谢,斯里达尔

最佳答案

您可以使用以下代码实现 UIButton 的子类:(不完全准确,因为我们期望按钮宽度 == 按钮高度)

@implementation RoundedButton

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent*)event
{
CGFloat radius = self.bounds.size.height / 2;
//
CGFloat x = radius - point.x;
CGFloat y = radius - point.y;
//
if (x*x + y*y < radius*radius)
return [super pointInside:point withEvent:event];
else
return NO;
}

@end

关于ios - 如何将圆形 UIButton 的 UIControlEventTouchUpInside 限制在圆圈内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19062813/

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