[英]How to force UIPickerView.selectRow call didSelectRow method?
[英]Swift 4.1: SelectRow for UIPickerView does not raise the delegate didSelectRow
該頁面將加載選擇器視圖數據,並且已設置UITextView
inputView。 但是,當頁面加載時,當我將pickerView的selectedRow
設置為數據庫中的值時,我期望下面的委托會增加。
pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
提到了一種解決方法,該方法說在第一行添加一個虛擬行,但是,如果這不是一種選擇,並且只有一行,那么還有其他方法可以實現嗎?
從文檔 (重點是我的):
當用戶在組件中選擇一行時,由選擇器視圖調用。
這意味着如果您使用代碼選擇行,則該方法將不會被調用,這大概就是您要在此處執行的操作(“我將pickerView的selectedRow設置為DB中的值”)。
如果您想這么嚴重地調用didSelectRow
,只需調用它!
pickerView(pickerView, didSelectRow: yourRow, inComponent: yourComponent)
或者,如果您不喜歡自己調用委托方法,因為它們不是“應該”被其他類調用的,則可以將委托方法中的代碼提取到您自己的方法中,然后進行調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.