最近几天,我日常生活中的很多事情都变得非常稳定。 也许太稳定了。
攀登
一段时间以来,这已经变得非常常规,而且效果不佳。 攀爬,训练,为周末的好天气祈祷,疲倦,休息,担心饮食,重复……我相信进步仍在发生,但跌宕起伏如此剧烈,以至于总是很难说出来。
https://github.com/kevintriestocode/noStoryboard
撰写本文时的最新提交: https : //github.com/kevintriestocode/noStoryboard/commit/f1b879ec0bdda70eab3392135d9f9cda4e37b66a
它始于试图理解并希望构建一个程序化UI (从代码而不是视觉故事板生成的用户界面),并且能够合并SnapChat的SnapKit CocoaPod依赖项。 然后,我想(我想回去一步)了解其他更具体的内容:
- UIView
- UIVew的addSubview(_ :)方法
- UIViewController
- UINavigationController
- UINavigationBar
- UINavigationItem
- safeAreaLayoutGuide —它的尺寸/约束
- 基本上所有东西都可以放在一起
Swift的很多部分在Xcode中似乎都是拼图。 大多数时候,我最终会拿着两件彼此不合适的东西,但是我花了一段时间才意识到这一点,甚至花了更长的时间才能弄清为什么它们不合适, 甚至花更长的时间来找出我需要的东西弄清楚 他们去哪里以及他们适合什么 。 深深的权利? 大声笑。












我简单的应用的各种面孔。
- 该应用启动
- 您有3种选择可以玩
- 一个“设置” UILabel,它响应UITapGesture并推送另一个ViewController
- 一个“在列表上的UILabel,它响应UITapGesture并推送一个TableViewController
- 单击时在紫色和灰色之间切换的UIButton。
- UINavigation顶部的导航功能也很有限。
到目前为止,我最骄傲的成就是一切都是程序性的。 (仍然很难相信我实际上是在编码!)。 只要看看所有这些漂亮的颜色…


其中的不同部分花了几秒钟才能输入并“正确”,而其他部分则花了数小时才弄清楚,然后他们开始合作并停止破坏我的应用程序。 但是外面的人永远不会仅仅通过查看源代码就知道这种挣扎。
settingsLabel.snp.makeConstraints {(make)在
make.centerX.equalTo(屏幕)
make.top.equalTo(view.safeAreaLayoutGuide.snp.top).inset(5)
make.width.equalTo(screen).inset(5)
make.height.equalTo(100)
}
那行以粗体显示永远。 它最初看起来像make.top.equalTo(screen).offset(100) ,它可以工作,但最终有一个奇怪的厚边距:


这样的事情在现实世界中是不可能接受的。 (对吗?)因此,我着手进行修复。 接下来我尝试了make.top.equalTo(navigationController?.navigationBar.bottomAnchor)


但这最终破坏了我的应用程序


因此,我尝试了… 这个和那个以及那个和谷歌错误消息等。
这是一个压力很大的阴霾,所以我不完全记得(或想记住)细节。 但是最终通过大量的互联网挖掘,我发现我将把safeAreaLayoutGuide与SnapKit结合使用。




并且那个讨厌的最高利润是固定的!