2016-05-25 9 views
0

私の目標は、変数内のボタン、ラベル、またはテキストフィールドから参照を安全にすることです。 問題は、ユーザーがタップしたコントロールがわからないことです。ユーザーが任意のコントロールに触れることができる現在のオブジェクトへの参照を取得する

enter image description here

: 私はこのようになります簡単なアプリケーションを持っています。

アクションでドラッグできるので、3つのコントロールだけで十分です。しかし、私はそれらの多くを持っている場合、私はアクションメソッドのすべてを扱うことはできません。変数の中のコントロールへの参照を安全にすることができる一般的な方法はありますか?そのコントロールのどれがアクティブなものか知ることができますか?

編集

としては、私は機能を使用して機能の送信者に変数を割り当てていますが示唆されました。これは、コード内での表示方法です。

var currentObject: NSTextField! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    myTextfield.action = #selector(myAction) 
} 

func myAction(sender: NSTextField) 
{ 
    print("aktuell: \(sender)") 
    currentObject = sender 
} 

これはNSTextfieldでのみ有効です。どのような機能があらゆるコントロールのために機能するか?

答えて

1

各アイテムにtag属性を設定し、sender.tagをチェックすると、どのオブジェクトがそれを呼び出すのかを確認できます。

、タグを設定(右上 - ユーティリティの真ん中のボタン)ストーリーボードで属性インスペクタを選択するには、このセクションを探します。答えを

enter image description here

+0

感謝を。私の編集を見てください、あなたはこれを解決する方法を知っていますか? – Anokrize

+0

オブジェクトに関する他の情報が本当に必要ない場合は、関数を 'func myAction(sender:AnyObject)'に変更してから、すべての項目をコントロールにドラッグすることができます。 – sschale

+0

はい、問題はこの方法で私は後で使用するcurrentObject.frameにアクセスできないということです – Anokrize

関連する問題