gpt4 book ai didi

ios - 如何禁用按钮边界外的 TouchUpInside Action

转载 作者:搜寻专家 更新时间:2023-11-01 05:57:09 24 4
gpt4 key购买 nike

这是我的 Xib。我只是拖动了一个 UIButton 并更改了它的背景颜色。

enter image description here

我使用这段代码创建了一个半圆图层

    let circlePath = UIBezierPath.init(arcCenter: CGPointMake(mybutton.bounds.size.width / 4, 0), radius: mybutton.bounds.size.height, startAngle: 0.0, endAngle: CGFloat(M_PI), clockwise: true)
let circleShape = CAShapeLayer()
circleShape.path = circlePath.CGPath
mybutton.layer.mask = circleShape

这是我的输出。

enter image description here

完美如我所愿。但问题是这个按钮在其圆形区域之外是可点击的(根据按钮的实际形状)。我希望它只能作为圆形点击。

我怎样才能做到这一点?谢谢。

最佳答案

创建签名 Action

- (IBAction)buttonPressed:(id)sender forEvent:(UIEvent*)event{
//your code
}

为你的按钮

使用此答案找出触摸位置 UIButton TouchUpInside Touch Location

使用

检查该位置是否包含在您的 CGPath 中
- (IBAction)buttonPressed:(id)sender forEvent:(UIEvent*)event{
//find location point using above answer link
if([button.layer.mask containsPoint: location])
{
//proceed with the code
}
}

如果它包含点,它返回一个 bool 值。

即如果它包含点,您可以继续,否则您可以返回。

希望对您有所帮助:)

关于ios - 如何禁用按钮边界外的 TouchUpInside Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37657307/

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