Ios 在UIScrollView中添加子视图的位置

Ios 在UIScrollView中添加子视图的位置,ios,iphone,objective-c,cocoa-touch,uiscrollview,Ios,Iphone,Objective C,Cocoa Touch,Uiscrollview,是否有一些“最佳实践”方法可以将子视图添加到UIScrollView 例如: 我有一个UIViewController,它从服务器加载带有相应描述的图像。 这些图像+描述应添加到水平滚动视图中 加载数据时,我是否应该在我的UIView中创建一个方法来处理这些内容, 或者在myUIViewController中执行此操作是否更方便?您的视图控制器将是处理此问题的最合适位置,因为控制器应将您的视图(滚动视图)连接到数据(图像) 如果滚动视图的布局很简单,那么完全可以使用控制器来完成。但是,如果布局复

是否有一些“最佳实践”方法可以将子视图添加到
UIScrollView

例如:

我有一个
UIViewController
,它从服务器加载带有相应描述的图像。 这些图像+描述应添加到水平滚动视图中

加载数据时,我是否应该在我的
UIView
中创建一个方法来处理这些内容,
或者在my
UIViewController中执行此操作是否更方便?

您的视图控制器将是处理此问题的最合适位置,因为控制器应将您的视图(滚动视图)连接到数据(图像)

如果滚动视图的布局很简单,那么完全可以使用控制器来完成。但是,如果布局复杂,您可能需要考虑子类<代码> UISCRoVIEW 并处理其中的一些布局(类似于<>代码> UITababVIEW 工程)。
有关标准应用程序体系结构的更多信息,请阅读苹果的开发者网站。

以我的方式来看,关注点的分离将如下所示:

  • UIViewController
    负责获取图像并将其交给
    UIView
  • ui视图
    负责显示它们
因此,
-addSubview:
是一个视图实现细节,应该放在视图中,并且对控制器不透明

有很多观点认为,
UIViewController
UIView
都被混淆和交织在一起,使得它们都成为概念“视图”的一部分(在MVC意义上),但我认为这样做还是更干净的


如你所见,意见不一就我个人而言,我对MVC感到失望,认为它是一种更清晰、更清晰、更明智的方式来处理这一切。

UICollectionView与UITableView相同,只是它旨在显示图像及其描述

这是你能做的

  • 创建UICollectionView,它是UIScrollView的子类。因此,不需要UIScrollview
  • 由于每个项目都需要图像和说明,因此我建议从UICollectionView中删除UICollectionViewItem
  • 创建一个单独的自定义UICollectiveItem类,在.xib文件(UIImageVIew和UILabel)中定义UICollectionItem
  • 定义数据源方法“–collectionView:cellForItemAtIndexPath:”时,请在此处定义UICollectionVIewItem类。我们定义了自定义UITableVIewCell

  • 不使用
    UITableView
    的任何特殊原因?它应该是水平滑动,而不是垂直滚动表格视图。考虑
    UICollectionView
    。+1
    UICollectionView
    。这可能需要您稍微学习一下,但它是iOS工具包中的一个基本工具。当你尝试做一些新奇的事情时,它给了你更大的灵活性。我知道
    UICollectionView
    是另一种选择,但这不是重点:)我只是想知道哪种解决方案更方便。我的想法与在MVC模式中使用
    UIViewController
    作为视图和数据之间的连接是一样的!谢谢你的回答!:)