首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >UITextField初始化速度慢吗?

UITextField初始化速度慢吗?
EN

Stack Overflow用户
提问于 2011-08-22 04:07:49
回答 3查看 382关注 0票数 1

我以编程的方式将大约100个UITextFields放到一个UIScrollView中,用于一个精心设计的数据输入应用程序(不要使用ask....bletch),我发现生成所有这些UITextFields花费的时间太长了……大概4秒左右。

有没有更好或者更快的方法来以编程方式创建这么多用户界面对象?

例如,加载一个Xib/Nib并尝试根据需要对其进行修改是否更明智?

谢谢。

EN

回答 3

Stack Overflow用户

发布于 2012-04-29 23:41:46

你有没有想过只创建几个UITextField,一旦它们离开屏幕就重用它们,就像UITableView处理单元格一样?

票数 3
EN

Stack Overflow用户

发布于 2012-04-29 23:45:23

哇,100个文本字段作为数据输入是很苛刻的。但当客户坚持一个非常愚蠢的想法时,我知道问题所在。

回到主题:问题不在于UITextFields的实际生成。这就是可可触摸处理视图的方式。查看速度非常慢。你使用nibs的想法甚至更糟,因为它们实际上更慢。

避免这种情况的唯一方法是简单地不绘制(添加)很多视图。只需添加当前在滚动视图的可见区域中的视图,并删除其他视图。

Cocoa touch实际上已经有了一个非常好的控件,它被称为UITableView。;)

正是由于这些原因,苹果在UITableView中创建了出队/重用模式。

因此,我建议您使用表视图而不是带有自定义单元格的滚动视图(以避免分隔符等)。然后将这些单元格出列/重用,并用存储在某个数组中的UITextFields填充它们。

票数 1
EN

Stack Overflow用户

发布于 2012-04-29 23:37:19

我的第一个想法是编写一个计时器,然后以很小的步长加载它们,这样UI就不会冻结(仍然需要4秒,但至少用户可以在加载的文本字段中输入)

here是如何制作计时器的

票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7140803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档