2016-11-19 4 views
0

答えが近いと確信しています。 私は新しく、iOS用のシンプルなアプリを作りたいと思っています。 私はビューを作成し、このビューにさまざまな要素を追加しました。また、このビューで認識されたパンが追加されました。私は、ユーザーが別の要素に指をドラッグすると、別のアクションを実行したい。例えば、コンソールに書き込むためにボタン領域に指を入れたとき、ラベル領域にドラッグしたときにラベルのテキストを変更します。また、このタイプではキーボードからの入力テキストのスワイプ方式を実現しました。ワンタッチでやらなければならないので、パンレコグナイザーを使用しています。しかし、私は私のアプリを実行すると、私は指の位置を取得することができますが、必要なときにどのようにトリガ機能を知らない。あなたが必要なほとんどすべてのものを持っているようにあなたが ありがとうユーザーが素早く要素の領域にドラッグして別の機能をトリガーする方法

を助ける
class ViewController: UIViewController { 

@IBOutlet var mainView: UIView! 
@IBOutlet var gest: UIPanGestureRecognizer! 
@IBOutlet var tap: UITapGestureRecognizer! 
@IBOutlet weak var btn: UIButton! 
@IBOutlet weak var btn2: UIButton! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
    self.view.addGestureRecognizer(self.gest) 

} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 

} 

@IBAction func drAG(_ sender: UIPanGestureRecognizer) { 
    print(sender.location(in: self.view)) 
} 
+0

問題を再現するコードを提供する必要がある場合は、ヘルプを入手する必要があります。ここでは、[最小限の例](http://stackoverflow.com/help/mcve)を作成する方法です。 – ImportanceOfBeingErnest

答えて

1

ため 希望が見えます。私はいくつかのアプリケーションでhitTest()多くを使用

func moveEye(_ recognizer:UIPanGestureRecognizer) { 
    let p = recognizer.location(in: self) 
    if btn.layer.hitTest(p) != nil { 
     // finger panned over btn 
    } 
} 

:今、ちょうど任意のビューの層のhitTest()メソッドを使用します。しかし、注意してください - 私は通常それをタップジェスチャーに関連して参照してください。 (私は、サブジェクトを移動するためにパンジェスチャーを使用します。)ユーザーがパンを2つ重ねてサブビューすると、どのように動作するのか分かりません。

+0

これは私が探しているものです!どうもありがとう! – savannaPower

関連する問題