[我正在尝试复制像tabBar
这样的“ Instagram”,它的中间有一个“实用程序”按钮,不一定属于tabBar
生态系统。
我将如何在UIKit中做到这一点,只是使用
override func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem) {
print("Selected item")
}
[C0中的功能。但是显然我们无法在SwiftUI中做到这一点,因此一直在寻找人们是否尝试过任何想法。我最后的想法是将其简单地包装在UIView中,并与SwiftUI一起使用,但要避免这种情况并保持其本机性。
我在自定义TabBar中看到过写的内容,但想使用Apple提供的TabBar以避免将来出现任何差异。
谢谢!
您需要使用下面的代码创建UITabBarDelegate
:
TabView
import SwiftUI
struct ContentView: View {
var body: some View {
TabView {
HomeView()
.tabItem { Image(systemName: "house") }
Text("Search")
.tabItem { Image(systemName: "magnifyingglass") }
Text("Add")
.tabItem { Image(systemName: "plus.circle") }
Text("Heart")
.tabItem { Image(systemName: "heart") }
Text("Profile")
.tabItem { Image(systemName: "person.crop.circle") }
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
struct HomeView: View {
var body: some View {
Text("Home")
}
}
如果要以编程方式选择TabView项,然后创建属性
并且您的@State private var selectedTab = 1
属性将如下所示:
body