我将大约100个UITextFields以编程方式放入UIScrollView中,以获得精心设计的数据输入应用程序(不要问.... bletch),我发现生成所有这些UITextField需要很长时间...像4秒钟。
是否有更好或更快的方式以编程方式生成这么多用户界面对象?
例如,加载Xib / Nib并尝试根据需要修改它会更明智吗?
感谢。
答案 0 :(得分:3)
您是否考虑过只创建几个UITextField
并在屏幕外重用它们就像UITableView
对细胞一样?
答案 1 :(得分:1)
哎呀,100个文本域作为数据输入是苛刻的。但是,当客户坚持一个非常愚蠢的想法时,我知道问题。
返回主题:问题不在于UITextFields
的实际生成。这是可可触摸处理视图的方式。意见非常缓慢。你对笔尖的想法更糟糕,因为它们实际上甚至更慢。
避免这种情况的唯一方法是不绘制(添加)许多视图。只需添加当前位于滚动视图可见区域的视图,然后删除其他视图
Cocoa touch实际上已经很好地控制了它,它被称为UITableView
。 ;)
答案 2 :(得分:-3)
我的第一个想法是编写一个计时器,并以小步骤逐个加载它们,以便UI不会冻结(它仍然需要4秒,但至少用户可以输入加载的文本字段)
here是如何制作计时器