2011-08-21 60 views
1

我將大約100個UITextField以編程方式放入UIScrollView中,用於製作精細的數據輸入應用程序(請勿...... bletch),並且我發現生成所有這些UITextField需要很長時間......類似於4秒。UITextField初始化緩慢?

有沒有一種更好或更快的方法來編程製作這麼多的用戶界面對象?

例如,加載Xib/Nib並嘗試根據需要修改它會更明智嗎?

謝謝。

回答

-2

我的第一個想法是編寫一個計時器並以小步驟逐個加載它們,以便UI不凍結(它仍然需要4秒,但至少用戶可以輸入到加載文本字段)

here是如何使一個定時器

+0

非常不好的主意...... –

3

你有沒有想過只是創造了幾個UITextField S和重用他們,一旦他們離屏幕就像UITableView與細胞呢?

1

ouch,100個文本字段作爲數據輸入是苛刻的。但是當客戶堅持一個非常愚蠢的想法時,我知道這個問題。

返回到主題:問題不在於UITextFields的實際生成。這是可可觸摸處理視圖的方式。意見非常緩慢。你用筆尖的想法更糟,因爲它實際上更慢。

避免這種情況的唯一方法就是不畫(添加)許多視圖。只需添加當前位於滾動視圖可見區域的視圖並刪除其他視圖。
可可觸摸實際上已經是一個非常好的控制,它被稱爲UITableView。 ;)

Apple由於這些原因在UITableView中創建了出列/重用模式。
所以我的建議是使用tableview而不是滾動視圖與自定義單元格(以避免分隔符等)和出列/重用這些單元格並填充它們存儲在數組內的UITextFields。