我將大約100個UITextField以編程方式放入UIScrollView中,用於製作精細的數據輸入應用程序(請勿...... bletch),並且我發現生成所有這些UITextField需要很長時間......類似於4秒。UITextField初始化緩慢?
有沒有一種更好或更快的方法來編程製作這麼多的用戶界面對象?
例如,加載Xib/Nib並嘗試根據需要修改它會更明智嗎?
謝謝。
我將大約100個UITextField以編程方式放入UIScrollView中,用於製作精細的數據輸入應用程序(請勿...... bletch),並且我發現生成所有這些UITextField需要很長時間......類似於4秒。UITextField初始化緩慢?
有沒有一種更好或更快的方法來編程製作這麼多的用戶界面對象?
例如,加載Xib/Nib並嘗試根據需要修改它會更明智嗎?
謝謝。
我的第一個想法是編寫一個計時器並以小步驟逐個加載它們,以便UI不凍結(它仍然需要4秒,但至少用戶可以輸入到加載文本字段)
here是如何使一個定時器
你有沒有想過只是創造了幾個UITextField
S和重用他們,一旦他們離屏幕就像UITableView
與細胞呢?
ouch,100個文本字段作爲數據輸入是苛刻的。但是當客戶堅持一個非常愚蠢的想法時,我知道這個問題。
返回到主題:問題不在於UITextFields
的實際生成。這是可可觸摸處理視圖的方式。意見非常緩慢。你用筆尖的想法更糟,因爲它實際上更慢。
避免這種情況的唯一方法就是不畫(添加)許多視圖。只需添加當前位於滾動視圖可見區域的視圖並刪除其他視圖。
可可觸摸實際上已經是一個非常好的控制,它被稱爲UITableView
。 ;)
Apple由於這些原因在UITableView中創建了出列/重用模式。
所以我的建議是使用tableview而不是滾動視圖與自定義單元格(以避免分隔符等)和出列/重用這些單元格並填充它們存儲在數組內的UITextFields。
非常不好的主意...... –