UITextField缓慢初始化?

时间:2011-08-21 20:07:49

标签: iphone ios ipad uiscrollview uitextfield

我将大约100个UITextFields以编程方式放入UIScrollView中,以获得精心设计的数据输入应用程序(不要问.... bletch),我发现生成所有这些UITextField需要很长时间...像4秒钟。

是否有更好或更快的方式以编程方式生成这么多用户界面对象?

例如,加载Xib / Nib并尝试根据需要修改它会更明智吗?

感谢。

3 个答案:

答案 0 :(得分:3)

您是否考虑过只创建几个UITextField并在屏幕外重用它们就像UITableView对细胞一样?

答案 1 :(得分:1)

哎呀,100个文本域作为数据输入是苛刻的。但是,当客户坚持一个非常愚蠢的想法时,我知道问题。

返回主题:问题不在于UITextFields的实际生成。这是可可触摸处理视图的方式。意见非常缓慢。你对笔尖的想法更糟糕,因为它们实际上甚至更慢。

避免这种情况的唯一方法是不绘制(添加)许多视图。只需添加当前位于滚动视图可见区域的视图,然后删除其他视图 Cocoa touch实际上已经很好地控制了它,它被称为UITableView。 ;)

由于这些原因,Apple在UITableView中创建了出列/重用模式 所以我的建议是使用tableview而不是带有自定义单元格的scrollview(以避免使用分隔符等),然后将这些单元格出列/重新使用,并用UITextFields填充它们,这些UITextFields存放在某个数组中。

答案 2 :(得分:-3)

我的第一个想法是编写一个计时器,并以小步骤逐个加载它们,以便UI不会冻结(它仍然需要4秒,但至少用户可以输入加载的文本字段)

here是如何制作计时器