前提・実現したいこと
Rx初学者です。
こちらを参考に、UIPickerViewで選択した値をUILabelで表示する処理を実装したのですが
UIPickerViewに初期値を設定した際に、UILabelに反映させる方法がわからず質問させて頂きました。
下記のコードで、ピッカーが選択された時に、選択された項目がUILabelに
反映されるのは理解できたのですが、UIPickerViewに初期値を設定した際は
どうすればUILabelの方にも値が反映されるのでしょうか。ご教示頂きたいです。
発生している問題・エラーメッセージ
UIPickerViewに初期値を設定した際に、UILabelに反映されない。
該当のソースコード
Swift
1import UIKit 2import RxSwift 3 4class TestViewController: UIViewController { 5 6 @IBOutlet weak var ladel: UILabel! 7 @IBOutlet weak var pickerView: UIPickerView! 8 9 private let disposeBag = DisposeBag() 10 11 var items = [String]() 12 13 override func viewDidLoad() { 14 super.viewDidLoad() 15 16 for n in 0...10 { 17 self.items.append("item (n)") 18 } 19 20 Observable.just(self.items) 21 .bind(to: self.pickerView.rx.itemTitles) { _, items in 22 return items 23 } 24 .disposed(by: self.disposeBag) 25 26 self.pickerView.rx.modelSelected(String.self) 27 .map { item in 28 item.first 29 } 30 .bind(to: self.ladel.rx.text) 31 .disposed(by: self.disposeBag) 32 33 self.pickerView.selectRow(2, inComponent: 0, animated: true) 34 } 35}
試したこと
pickerView.selectRowで初期値を設定してみたが
選択して値を変えたわけではないので、UILabelには反映されなかった。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/11 04:25