首先,抱歉标题,不确定名称是什么。
我想在Xcode中为项目创建一个长视图(我在故事板中这样做)。我使用的是Swift(不是Obj-C)。
我希望显示一个imageView,一些灵活(高度)标签,一些按钮实际上比Xcode的故事板中的ViewController长。
我无法找到有关如何实现它的任何资源。在某处我读到它是由代码完成的,也许我应该做XIB?我对iOS开发很陌生,而且我被卡住了。
我想要达到的目标就是这样(下图,它只是谷歌搜索的一个模板),但我想在它下面放置大图像和大量内容:
我该怎么办?用swift?一些示例或资源将非常有用。
修改
万一你发现了这个问题并且你也愿意找到如何做到这一点我将告诉你构建视图的最好(但不是最简单)的方式,就像截图是编程方式一样。是的,答案说Tableview,有些人可能会说XIB,但经过长时间的搜索,我得出结果,最好的方法是以编程方式做所有事情。如果您以编程方式搜索创建视图控制器,实际上有很多优秀的资源,并且大多数开发人员建议您以编程方式进行操作,因为它可以为您提供更多控制和灵活性。此外,渲染时间比使用XIB少得多。事实证明,XIB存储在磁盘上,读取和渲染需要时间,相反,代码运行得更快。我想最终的文件大小也会变小。
答案 0 :(得分:4)
我认为UITableView
将是UIScrollView
如果您的内容在视图数量上是静态的或不变的,那么只需使用带有静态单元格的UITableView
。
如果您的内容是动态的,即动态行数取决于让我们说JSON API响应,那么动态单元格在ViewController中有一些编码
它还有助于您对动态视图高度的要求,例如:自iOS 8+以来的标签支持UITableViewAutomaticDimension
,可以根据内容自动为您布置UIView
。
答案 1 :(得分:0)
是的,用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!)
}