首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应该使用哪个组件在iOS中创建卡片?

问应该使用哪个组件在iOS中创建卡片?
EN

Stack Overflow用户
提问于 2016-09-14 10:22:45
回答 1查看 1K关注 0票数 0

我想要创建一个应用程序,用户可以滚动看到卡,动态创建(就像Facebook的应用程序)。哪个组件更适合用于此目的?

  • 可重用的UIView inside UIScrollView?(表演?)
  • UIScrollView?内部的UIStackView (.?)
  • UITableCellView内部UITableView?(不要这么认为)

我希望它有一些阴影和动态高度取决于内容。

谢谢。

图片

​

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-14 10:40:07

如果您想要创建类似于Facebook上的新闻源,那么使用UITableView是可行的方法。根据您需要的不同类型的卡片布局,您可以为每个卡片布局创建一个不同的动态原型UITableViewCell。UITableViews在这方面是最自然的,而且对性能也很好。这基本上就是您最初提到的“可重用UIView It”。UITableView是一个UIScrollView,UITableViewCells基本上是UIViews,是的,它们确实会被重用。在任何给定的时间,只需要足够的细胞来显示屏幕上的内容。如果您的新闻源中有100个条目,那么仍然只有7个单元格,并且在滚动新闻源时,将重用7个单元格在新闻源上创建不同的项。

对于动态高度:您将无法显式地声明您想要在故事板中的动态高度。相反,您所做的是对您的标签的不同高度,使线条属性等于0。一旦等于0,则需要确保所有约束都从单元格的顶部到底部正确放置。您可能有许多元素,但是iOS需要完美的约束,这样它才能明确地确定高度。

在相应的View中,您可以在viewDidLoad方法中编写以下内容:

tableView.rowHeight = UITableViewAutomaticDimension

然后,我建议也做tableView.estimatedRowHeight = 150或类似的事情,这样你的滚动就不会那么不稳定了。

滚动(特别是滚动)的100%解决方案(特别是向上滚动)不会动摇,因为它通常用于动态单元高度,即实现tableView委托方法tableView(:heightForRowAtIndexPath)方法。

尽管如此,这只是一个如何开始的微小的先兆。动态高度这个话题在网上有很多教程,也有很多关于人们遇到的问题的问题。

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

https://stackoverflow.com/questions/39488050

复制
相关文章

相似问题

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