功能需求
在 SwiftUI 中我们可以非常容易的定制导航栏 Toolbar 中按钮的显示,包括折叠、分组和按条件动态显示和隐藏等。
如上图所示,我们仅用寥寥几行代码就实现了 SwiftUI 导航栏 Toolbar 按钮的折叠、分组和按条件动态显示隐藏等功能。
在本篇博文中,您将学到以下内容:
- Toolbar 如何折叠显示多余按钮;
- Toolbar 如何成组显示功能类似的折叠按钮;
- Toolbar 如何按条件动态显示和隐藏按钮;
- 如何确保 Toolbar 内容的改变不影响主视图内容(即不会导致主视图重建)
闲话少叙,让我们马上开始吧!
Let‘s dive in!!!😉
功能分析
1. Toolbar 折叠显示按钮
为了确保 Toolbar 稳妥的折叠自身的按钮,我们需要为每个按钮设置唯一的 id 以便 SwiftUI 能在运行时找到它们。
除此之外,我们还需要将每个折叠按钮的 placement 设置为 .secondaryAction,以告知 SwiftUI 这些按钮不要直接放在 Toolbar