我正在进行一个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
这样的内容,以避免为每个按钮硬编码。
答案 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()
}