本文介绍了SwiftUI iPhone 、iPad 、Mac 适配 UI,iPhone 用tabbar ,iPadOS 和 macOS 用sidebar 两栏或三栏布局求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。
对技术面试,学习经验等有一些体会,在此分享。
关键词
tabbar
sidebar
两栏或三栏布局
效果图
核心代码
ContenView
import SwiftUI struct ContentView: View { #if os(iOS) @Environment(.horizontalSizeClass) private var horizontalSizeClass #endif var body: some View { #if os(iOS) if horizontalSizeClass == .compact { AppTabNavigation() } else { AppSidebarNavigation() } #else AppSidebarNavigation() #endif } } struct ContentView_Previews: PreviewProvider { static var previews: some View { Group { ContentView() ContentView() .previewDevice("iPad Pro (11-inch) (2nd generation)") } } }
AppTabNavigation
“`swift
struct AppTabNavigation: View {
@State private var selection: Tab = .menu
var body: some View { TabView(selection: $selection) { NavigationView { Text("菜单") } .tabItem { Label("Menu", systemImage: "list.bullet") .accessibility(label: Text("Menu")) } .tag(Tab.menu) NavigationView { Text("收藏") } .tabItem { Label("Favorites", systemImage: "heart.fill") .accessibility(label: Text("Favorites")) } .tag(Tab.favorites) NavigationView { Text("奖励") } .tabItem { Label("Rewards", systemImage: "seal.fill") .accessibility(label: Text("Rewards")) } .tag(Tab.rewards)
关键词
tabbar
sidebar
两栏或三栏布局
效果图
核心代码
ContenView
import SwiftUI struct ContentView: View { #if os(iOS) @Environment(.horizontalSizeClass) private var horizontalSizeClass #endif var body: some View { #if os(iOS) if horizontalSizeClass == .compact { AppTabNavigation() } else { AppSidebarNavigation() } #else AppSidebarNavigation() #endif } } struct ContentView_Previews: PreviewProvider { static var previews: some View { Group { ContentView() ContentView() .previewDevice("iPad Pro (11-inch) (2nd generation)") } } }
AppTabNavigation
“`swift
struct AppTabNavigation: View {
@State private var selection: Tab = .menu
var body: some View { TabView(selection: $selection) { NavigationView { Text("菜单") } .tabItem { Label("Menu", systemImage: "list.bullet") .accessibility(label: Text("Menu")) } .tag(Tab.menu) NavigationView { Text("收藏") } .tabItem { Label("Favorites", systemImage: "heart.fill") .accessibility(label: Text("Favorites")) } .tag(Tab.favorites) NavigationView { Text("奖励") } .tabItem { Label("Rewards", systemImage: "seal.fill") .accessibility(label: Text("Rewards")) } .tag(Tab.rewards)
关键词
tabbar
sidebar
两栏或三栏布局
效果图
核心代码
ContenView
import SwiftUI struct ContentView: View { #if os(iOS) @Environment(.horizontalSizeClass) private var horizontalSizeClass #endif var body: some View { #if os(iOS) if horizontalSizeClass == .compact { AppTabNavigation() } else { AppSidebarNavigation() } #else AppSidebarNavigation() #endif } } struct ContentView_Previews: PreviewProvider { static var previews: some View { Group { ContentView() ContentView() .previewDevice("iPad Pro (11-inch) (2nd generation)") } } }
AppTabNavigation
“`swift
struct AppTabNavigation: View {
@State private var selection: Tab = .menu
var body: some View { TabView(selection: $selection) { NavigationView { Text("菜单") } .tabItem { Label("Menu", systemImage: "list.bullet") .accessibility(label: Text("Menu")) } .tag(Tab.menu) NavigationView { Text("收藏") } .tabItem { Label("Favorites", systemImage: "heart.fill") .accessibility(label: Text("Favorites")) } .tag(Tab.favorites) NavigationView { Text("奖励") } .tabItem { Label("Rewards", systemImage: "seal.fill") .accessibility(label: Text("Rewards")) } .tag(Tab.rewards)
部分转自互联网,侵权删除联系
最新评论