UIScrollView 与带有 UITextFields 的 TableView

UIScrollView vs TableView with UITextFields

我现在将多个文本字段放在滚动视图中,效果很好。但是,我听说有人也将文本字段放在 table 视图中,这让我开始思考,出于性能原因,将我的文本字段放在 table 视图中是否更好,或者这无关紧要考虑到只有我的一些文本字段重用相同的样式?

我以前遇到过很多次这种情况,我更喜欢始终使用 UIScrollView。使用 tableView 非常复杂,您需要处理单元格的重用以设置在此字段中写入的文本。对于性能而言,两者都很好,除非您有很多字段,在这种情况下,重用将很有帮助。

还有使用 UIScrollView 的问题,您必须处理打开键盘以扩展 scrollView 的内容大小,并将其动画显示在键盘上方的字段中。 对于更改和自定义所有内容的灵活性,ScrollView 是完美的

如果文本字段的数量很少,那么你应该使用滚动视图,因为你会知道它们的数量并且你可以更好地维护它。

仅当您不知道需要多少个文本字段及其用户依赖或动态行为,或者您有相当多的文本字段时,才使用带有文本字段的表视图。在tableview中管理它们也是一件令人头疼的事情。

这主要取决于两个原因:

您是否重复使用大部分相同类型的文本字段?

如果是,那么你可以选择 UITableView,因为你只需要在一个地方设置属性,而且实施更改更容易,因为你只需要在一个地方进行更改一个地方。

如果否,则转到问题 2。

2。您的文本字段是否比父视图的框架多?

如果是,那么您应该再次选择 UITableView。您将需要可重用性。在这种情况下,即使您有 2-3 种不同类型的文本字段,您仍然会获得更好的性能。而且,实施更改仍然更容易。

如果没有,那么你应该去UIScrollView

嗯,table视图使您的代码可扩展。

可能现在您的文本字段数量可能很少。

但即使您以后想对文本字段进行细微的更改,您也必须重新访问每个文本字段并进行更改。

但在 tableView 的情况下,您将使用将被重复使用的自定义单元格。所以你必须改变一个地方,即使你想增加文本字段的数量,你只需要增加 table 视图中的单元格数量。而在滚动视图中,您又必须创建新的。