Long/High 在 Xcode 中使用 ScrollView 查看 iOS 7

Long/High View with ScrollView in Xcode 7 for iOS

首先,对标题感到抱歉,不确定什么是正确的名称。

我想在 Xcode 中为项目创建一个长视图(我在故事板中这样做)。我正在使用 Swift(不是 Obj-C)。

我想显示一个 imageView,一些灵活的(高度)标签,一些实际上比 Xcode 故事板中的 ViewController 更长的按钮。

我找不到关于如何实现它的任何资源。我在某处读到它是通过代码完成的,也许我应该做 XIB?我是 iOS 开发的新手,我被卡住了。

我想要实现的是这样的(下图,它只是来自 google 搜索的模板)但我想要大图像和下面的很多东西:

我应该怎么做?使用 swift?一些示例或资源将非常有帮助。

编辑

以防万一您发现了这个问题并且您也愿意了解如何去做,我将告诉您构建视图的最佳(但不是最简单)方法,如屏幕截图所示,即以编程方式。是的,答案是 Tableview,有些人可能会说 XIB,但经过长时间的搜索,我得出的结果是最好的方法是以编程方式完成所有事情。如果您确实搜索以编程方式创建视图控制器,实际上有很多很棒的资源,并且大多数开发人员建议您以编程方式进行,因为它可以为您提供更多控制和灵活性。此外,渲染时间也比使用 XIB 少得多。事实证明 XIB-s 存储在磁盘上,读取和渲染它们需要时间,相反,代码运行得更快。我想最终的文件大小也会更小。

我想 UITableView 会是一个更好的方法 UIScrollView

如果您的内容将是静态的或观看次数不变,则只需使用带有静态单元格的 UITableView。 如果您的内容是动态的,即动态行数取决于 JSON API 响应,那么在您的 ViewController

中使用一些编码的动态单元格

这也将有助于您对动态高度的要求,例如标签,因为 iOS 8+ 支持 UITableViewAutomaticDimension,它可以根据内容自动为您布局 UIView

是的,使用 XIB

首先:制作一个 nib 文件并将其大小更改为自由大小,随心所欲地拉伸它并在那里工作而不放置任何滚动视图

第二步:打开故事板并将滚动视图放在视图控制器上

第三:在你的 viewController 中加载 xib 文件并使 scrollView 大小等于 xib 文件大小,如下所示:

//Outlets

@IBOutlet var scroller: UIScrollView!


//Variables 
let Aview = Bundle.main.loadNibNamed("view", owner: self, options: nil)?.first as? xibController

override func viewDidLoad() {
    super.viewDidLoad()


    self.scroller.contentSize = CGSize(width: (Aview?.frame.size.width)!, height: (Aview?.frame.size.height)!)



    scroller.addSubview(Aview!)


}