如何在构建像instagram配置文件视图的视图时处理视图控制器?

时间:2014-04-10 18:22:57

标签: ios layout uiscrollview

prototype of the profile view design

是的。就像照片显示的那样,它是一个像instagram一样的个人资料视图的样式样式。当用户按下网格按钮时,视图将按网格样式显示图像。当用户按下列表按钮时,视图将在列表中显示图像,网格视图为hide。按下任何按钮用户,用户配置文件视图将永远不会更改。

我有几个计划来处理这种情况,但我认为我的计划没有优化。所以我渴望听到更好的想法。

我可以在这里分享我的计划:

计划A:

UIViewController
  -> UITableView
    -> UIView ( as the user profile UIView )
    -> UITableViewCell1 ( could be the first section's cell and include all images with grid style )
    -> UITableViewCell2 ( when the style changed to list , reuse another UITableViewCell for handling )

当用户按下Grid按钮时,只显示Cell1.Otherwise它将显示Cell2。

我认为这个计划很奇怪,因为视图的结构。尤其是UITableViewCell1。

B计划:

UIScrollViewContrller
  -> UITableView ( for handling images in list style )
  -> UICollectionView ( for handling images in grid style )

在这个解决方案中,我可能面临另一个问题:在scrollView.Maybe中处理scrollView我应该添加一个平移手势来检查垂直滚动,用户可以感觉到滚动是完美的。

当用户按下网格按钮时,它会显示UITableView.Otherwise显示UICollectionView。

真的希望听到你的意见。

1 个答案:

答案 0 :(得分:0)

计划A看起来太复杂IMO,尤其是那个高级视图表视图。您可以使用表格视图做很多事情,但它们也有缺点,对它们进行精确控制可能会耗费大量时间。我甚至根本就不使用它们,我个人除了看起来像列表的东西之外,我再也不会用它们了。

无论如何为了使事情更易于管理,您可以考虑在下半部分添加容器视图,在该容器视图中,您将为每个不同的显示加载单独的视图控制器。 这样你就可以对代码进行大量分区 - 也就是说你有一个视图控制器,它只负责显示网格,另一个视图控制器只显示列表风格等等。