我想要创建一个应用程序,用户可以滚动看到卡,动态创建(就像Facebook的应用程序)。哪个组件更适合用于此目的?
我希望它有一些阴影和动态高度取决于内容。
谢谢。
图片

发布于 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)方法。
尽管如此,这只是一个如何开始的微小的先兆。动态高度这个话题在网上有很多教程,也有很多关于人们遇到的问题的问题。
https://stackoverflow.com/questions/39488050
复制相似问题