与UIScrollView的简短相遇

我与UIScrollView进行了简短的接触,这是我要写的,因为我想记住我在工作中的Hack Day摔倒的一两件事。 但是,内容与工作有关。 而且,在尝试提出一个引人注目的与工作无关的示例时,我学到了很多有关Swift Codable的知识 ,所以我决定写些关于它的内容。

好的好的。 很好 。 我会写两个。 对于本文,我将仅介绍滚动视图。

关于绊脚驱动的开发

这是我如何通过滚动视图迷失于杂草中的故事。 巨魔和巨型蜘蛛的故事。 好吧,像那样。 这种开发风格可以称为“绊脚驱动的开发”( SDD ),有点像“沿着已知的轨迹朝着明确的目标前进,直到进展发生。”

有问题的应用程序是为工作中的Hack Day而设计的; 我很高兴实现UI。 这个应用程式打算在iPhone上显示资料资讯提供,让您放大细节,因此我选择了iOS Master-Detail范本。 通常,我立即用UITableView替换细节视图并实现自定义单元格,但是这次我不想麻烦,无论如何,在这种情况下,总体布局基本上是固定的。

布置视图

急着,我首先使用自动布局在没有UIScrollView的情况下直接在局部视图中布置局部视图。 而且,在花了很多时间进行布局之后,我犯了一个错误,那就是将它们全部都嵌入到了Editor > Embed In > Scroll View的UIScrollView中。

一切都松散了。 到处都是红色。

绊倒,绊倒,课程,课程等,等等。

为了帮助您了解所见,我在Intertubes上寻找了引人注目的数据馈送示例,并最终选择了USGS地震馈送。 只是。 因为。 为了整理提要,我认为我可以快速给新的Swift Codable协议打转,那时候我就知道了Frickin 很棒的 Codable是什么。 但这是下一篇文章。 抓紧。

细节视图的初始布局看起来像这样,与我在Hack Day应用程序中使用的布局极为相似:

我把MKMapView扔在那儿以占用空间,以备不时之需。 但是它还不够高,无法滚动。

接下来,我使字体变大,添加了更多标签视图以将其进一步垂直扩展,添加了一些字符串格式以使内容看起来更简洁,并使用自动布局将视图连接起来。 对于标题,位置和详细信息视图,我使它们紧贴右边缘并具有零行,以用于多行换行文本。 我将视图组放在堆栈视图内地图视图的右侧,只是使布局有些复杂和令人恐惧。

我的目的不是要尽可能以最佳方式显示此数据,而只是使视图向下延伸足够远,以至于实际上需要滚动内容才能看到底部,因此:

哦。 当然,滚动是可取的。 咄。 在骇客日中旬,这让我尴尬。

因此,我进入了“ 编辑器” >“ 嵌入在” >“ 滚动视图”中 。 天哪!

很多很多的红色。 我接下来要做的是惊慌 。 而且,我没有毛巾。

如果您在分支机构上如此遥远,并且分支机构中断了,那么最好从头开始,如果只需要更仔细地重新采取步骤,做些更好的笔记并避免麻烦,那是最好的选择。 (向迈克·卡尼(Mike Carney)提出建议是要大声疾呼,因为当他听到这种情况发生时,他从我的办公室里扔出了令人讨厌的东西。)于是,我创建了一个新项目,并只使用了一个固定在前缘和后缘的标签,并为动态高度设置了零行,直到我充分理解滚动视图的行为以修复我的Hack Day项目为止,我一直使用它。