2017-07-19 14 views
1

私は大きなボタンがあり、ユーザーがタップすると指の位置を探したいと思っています。私はTouchesBeganメソッドからUITouchesを使ってタップの位置を見つけることに慣れています。 UIButtonから位置を取得する方法はありますか?ボタンのスウィフトを使用してタッチ位置3

マイコード:

@IBAction func buttonPressed(_ sender: UIButton) { 

    //Find touch location here 

} 
+0

場所とはどういう意味ですか? x、y座標? 1つのターゲットでより多くのタッチターゲットを使用しようとしていますか? –

+0

ボタン自体またはスーパービューに関連する場所が必要ですか? –

+0

はいスーパービューに対するx、y座標と相対座標が最適です –

答えて

2

あなたがUIButtontouchesBeganあなたが

class TouchReporterButton: UIButton { 

    /* 
    // Only override draw() if you perform custom drawing. 
    // An empty implementation adversely affects performance during animation. 
    override func draw(_ rect: CGRect) { 
     // Drawing code 
    } 
    */ 

    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 
     super.touchesBegan(touches, with: event) 
     let touch = touches.first 

     let location = touch?.location(in: self.superview); 
     if(location != nil) 
     { 
      //Do what you need with the location 
     } 
    } 

} 

希望をスーパーするボタン自体または相対へのタッチの位置を取得することができ、これは

を助けを使用してサブクラス化必要
関連する問題