gpt4 book ai didi

ios - 如何使 UIBezierPath 可选择

转载 作者:可可西里 更新时间:2023-11-01 01:39:12 28 4
gpt4 key购买 nike

你好 StackOverFlow 社区,

我有一个标准的 UIBezierPath 如下:

let π:CGFloat = CGFloat(M_PI)

override func drawRect(rect: CGRect){

let center = CGPoint(x:bounds.width/2, y: bounds.height/2)
let radius: CGFloat = max(self.bounds.width, self.bounds.height) - 60
let arcWidth: CGFloat = 40

var startAngle: CGFloat = 0
var endAngle: CGFloat = (2 * π)
var path = UIBezierPath(arcCenter: center,
radius: radius/2 - arcWidth/2,
startAngle: startAngle,
endAngle: endAngle,
clockwise: true)

path.lineWidth = arcWidth
UIColor.redColor().setStroke()
path.stroke()
}

这会产生一个非常简单的 Arc。很简单,我希望能够在应用程序运行时选择/按下此弧线(如按钮),并能够触发一个 Action 。有什么办法可以做到这一点?

谢谢!

最佳答案

您可以为您的自定义 View 创建一个 Outlet 并在该自定义 View 中添加 tapgesture,如下所示:

import UIKit

class ViewController: UIViewController {


@IBOutlet weak var arcView: customView!

override func viewDidLoad() {
super.viewDidLoad()
var tapGesture = UITapGestureRecognizer(target: self, action: "SomeMethod")
self.arcView.addGestureRecognizer(tapGesture)
}

func SomeMethod(){

//change label text
}
}

现在,只要您点击 arcView,您的 SomeMethod 就会调用。您可以在该方法中更改标签文本。

有关更多信息,请参阅 THIS教程,您可以在其中找到如何检测 Bezier Paths 上的触摸。

关于ios - 如何使 UIBezierPath 可选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32132677/

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