Hacking with iOS: SwiftUI Editio
布局:总结
我希望这个规模较小的技术项目在我们的长期应用项目之后证明是可喜的突破,但是我希望您真的开始对SwiftUI的布局系统的工作方式有了一个良好的思维模式。那三步布局系统听起来很简单,但是要完全理解它所产生的影响需要花费一些时间。
至于GeometryReader
,这是您无需考虑就可以完全解决的问题之一,这很好。但是,当您想在设计中添加一点点亮点时——当您希望在用户与之交互时真正实现某些东西时——GeometryReader
是一种快速而灵活的修复程序,仅在少数几行中提供了巨大的功能。
回顾你学到的
任何人都可以学完整个教程,但是要记住所教的内容需要付出实际的工作。确保您从这些教程中获得尽可能多的收益是我的职责,因此,我准备了简短的评论以帮助您检查自己的学习情况。
点击此处回顾您在这个项目学到的内容
挑战
最好的学习方法之一是尽可能多地编写自己的代码,所以下面有三种方法可以尝试扩展此应用程序,以确保您完全理解正在发生的事情。
-
更改项目8(Moonshot),以便在
MissionView
中向下滚动时,任务徽章图像变小。它并不需要缩小为零——降低到80%就可以了。 -
更改项目5(Word Scramble),以便在滚动时向右滑动列表底部的单词。理想情况下,至少前8-10个单词应全部正常放置,但之后应逐渐向右偏移。
-
对于真正的挑战,请在滚动时更改项目5中的字母计数图像的颜色。为了获得最佳效果,您应该使用
Color(red:green:blue:)
初始值设定项来创建颜色,并为要修改的红色,绿色和蓝色中的任何一个输入值。可以使用该行的当前位置除以最大位置来确定要输入的值,这将为您提供0到1之间的值。
提示:所有这三个要求您使用GeometryReader
,而这又需要您了解如何计算每个视图的Frame。这些都是很困难的,所以如果您不按顺序进行操作或需要帮助,不要感到难过!