2016-05-23 6 views
1

iosアプリケーション用のif文を作成していますが、現在フォーカスが当てられているテキストフィールドに基づいてピッカーを変更します。ここに私がこれまで持っているものがあります。テキストフィールドにフォーカスがあるかどうかを確認する

func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int { 
    return 1 
} 

func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { 

    if (condition) { 
     return array1.count 
    }else{ 
     return array2.count 
    } 
} 

func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { 

    if (condition) { 
     textBox1.text = array1[row] 
    }else{ 
     textBox2.text = array2[row] 
    } 
} 

func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { 

    if (condition) { 
     return array1[row] 
    }else{ 
     return array2[row] 
    } 
} 

答えて

0

私たちは、あなたがmyTxtという名前のUITextFieldのためにIBOutletを持っていると仮定した場合、あなたのコード内のテキストフィールドに関連する任意のコードを参照してくださいいけない間は、UITextField.isFirstResponder()

0

よくしたいです。それがタッチしたときのために、このコード:

myTxt.addTarget(self, action: #selector(CurrentViewController.MethodToUpdatePicker()), forControlEvents: UIControlEvents.TouchUpInside) 

と、この値の変更について:

myTxt.addTarget(self, action: #selector(CurrentViewController.MethodToUpdatePicker()), forControlEvents: UIControlEvents.EditingChanged) 

単にピッカーを更新するために、あなたの関数でCurrentViewController.MethodToUpdatePicker()を交換してください。ここで

リンゴからより多くのドキュメントです:

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIControl_Class/#//apple_ref/occ/instm/UIControl/addTarget:action:forControlEvents

+0

申し訳ありませんが、私はまだスウィフトの使用にかなり新しいです。私はピッカービューを制御する4つの異なる機能を持っているので、私はこれらの2行のコードをどこに追加するか、またはそこで置き換えるはずの機能はどこにあるのか正確にはわかりません。 – icestorm0806

関連する問題