自 2020WWDC 发布以后,我的重心转移到了 iOS 14 与 macOS 11.0,一边享受着新系统的愉悦感,另一边汲取着新鲜交互逻辑的精华。

在我的 iPhone 更新到 iOS 14 后,我的「行」App 遇到了一个极为诡异的 Bug,在忍受了 iOS 14 Beta 2 更新后还没有好转以及这些天一直在写计划书不得不面对的几天后,我决定着手解决。

新图标

首先是新的图标,在版本 1,孤单地当了几个月占位符后,终于迎接到了下岗。

新版图标可能还会修改,但要比之前好看很多。线条暗喻着「行」,同时颜色也呼应着 UI 界面。具体的设计要素这里就不详谈了。

微信图片
微信图片

Debug

在更新 iOS 14 后,「行」UI 界面遇到了两个问题:

1.TheCardView(Data: Data) ForEach 循环与 HeadTitleView() 在初始界面下重叠;

微信图片

2.在点按 TheCardView 时,卡片动画明显滞后,与 TheTextCardView 动画不同步,在将动画时常调整为 3 倍观察时更明显。

微信图片

问题 1

将 ContentView.swift 中 NowView() 中 .padding(.top, 90) 改为 .padding(.top, 140) ,问题解决。

问题 2

这是个极为诡异的 Bug,让我一度认为是 Beta 版 Xcode 的问题。

在我不断测试后发现,是由于一个无法被覆盖掉的 .animation 导致动画滞后。在 TheCard 动画时,Text 与 Card 明显不是由一个 .animation 控制,并且 Card 的动画时滞后,说明是 Card 的一个 .animation 导致错误。在经过排查后,将所有 .animation 注释掉后, Card 动画依旧存在,于是我尝试注释 Card 中的修饰,最后发现

.shadow(color: cardColor1.opacity(0.3), radius: 20, x: 0, y: 20)

居然包含了一条无法被覆盖的 .animation 动画效果,将其注释掉后,ContentView 动画正常。

后来再测试将 .shadow 修饰与其他元素时也会带有一条无法被覆盖的 .animation 动画效果,于是只好暂时将其注释。

微信图片