按下按钮的Swift坐标

时间:2015-03-24 13:15:56

标签: swift button

我正在进行一个tic tac toe游戏(3x3),所以我有9个按钮,我想要做的是获取用户按下的按钮的坐标并在该位置插入图像按钮。

示例:

@IBOutlet weak var button1Outlet: UIButton!
@IBAction func button1Action(sender: AnyObject) {

        let imageName = "IMG.png"
        let image = UIImage(named: imageName)
        let imageView = UIImageView(image: image!)
        imageView.frame = CGRect(x: 0, y: 0, width: 90, height: 90)
        view.addSubview(imageView)


}

我知道我可以使用button1Outlet.center获取按钮的坐标,但我需要像this.center这样的内容,以避免为每个按钮硬编码。

2 个答案:

答案 0 :(得分:2)

您可以将发件人转换为UIButton,然后您可以访问任何与框架相关的方法。

(sender as UIButton).center

答案 1 :(得分:1)

单击按钮时,它将作为参数传递给函数。只需使用sender

// Change sender to a UIButton type
@IBAction func button1Action(sender: UIButton) {
    // ... Setup your views

    // Set same frames
    imageView.frame = sender.frame
    view.addSubview(imageView)

    // If you want to remove the button
    sender.removeFromSuperview()
}