簡體   English   中英

Swift 4.1:UIPickerView的SelectRow不會引發委托didSelectRow

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM