小编Luc*_*uca的帖子

SwiftUI 侧边栏不记得状态

我有这个应用程序使用iOS14 中为 iPad 操作系统引入的新侧边栏,但我不明白为什么它在隐藏时不记得状态

这是侧边栏结构

import SwiftUI

struct Sidebar: View {
    
    @Environment(\.managedObjectContext) var moc
    @Binding var selection : Set<NavigationItem>
    
    var body: some View {
        List(selection: $selection) {
            NavigationLink(destination: AgendaView().environment(\.managedObjectContext, moc).navigationTitle("Agenda"), label: {
                Label("Agenda", systemImage: "book")
            })
            .tag(NavigationItem.agenda)
            
            NavigationLink(destination: Text("Subjects"), label: {
                Label("Materie", systemImage: "tray.full")
            })
            .tag(NavigationItem.subjects)
            
            NavigationLink(destination: Text("Calendario"), label: {
                Label("Calendario", systemImage: "calendar")
            })
            .tag(NavigationItem.calendar)
            
            NavigationLink(destination: SettingsView().environment(\.managedObjectContext, moc).navigationTitle("Impostazioni"), label: {
                Label("Impostazioni", systemImage: "gear")
            })
            .tag(NavigationItem.settings)
            
        }
        .listStyle(SidebarListStyle())
    }
}
Run Code Online (Sandbox Code Playgroud)

为了标记元素,我使用了一个名为 NavigationItem 的自定义结构

enum NavigationItem {
    case agenda
    case …
Run Code Online (Sandbox Code Playgroud)

sidebar swiftui ipados ios14 xcode12

15
推荐指数
1
解决办法
1670
查看次数

具有透明背景的 SwiftUI NavigationView

我有一个以渐变为背景的视图,我想在其上面放置另一个视图,最后一个视图内部有一个 NavigationView 但由于某种原因我无法使其具有透明背景,因此我可以展示渐变在后面。

更奇怪的是,甚至无法更改 NavigationView 的背景颜色,我已经到处查看,但似乎找不到任何允许我更改颜色或使其透明的方法

第一个视图(我想要显示的具有渐变背景的视图)

ZStack {  // Global Stack for views
    //Background gradient
    VStack {
        LinearGradient(gradient: Gradient(colors: [Color("background2"), Color(.systemBackground)]), startPoint: .top, endPoint: .bottom)
            .frame(height: screenHeight/4)
        Spacer()
    }.background(Color(.systemBackground))

    Subjects()
        
    VStack {
        HStack {    // Topbar with menu-btn and profile-btn
            MenuButton(show: self.$showMenu)
                .disabled(self.showProfile)
            Spacer()
            
            HStack {
                TodayButton(show: self.$showToday)
                ProfileButton(show: self.$showProfile)
            }
        }
        Spacer()
    }
    .padding()
    .padding(.top, screenHeight*0.05)
}
Run Code Online (Sandbox Code Playgroud)

第一视角

第二个视图(带有我想要透明的 NavigationView 的视图)

struct Subjects: View {
    
    let subjects = [
        Subject(id: UUID(), name: "Matematica", color: "ff06f0", grades: [3,7,6.5,5.5]), …
Run Code Online (Sandbox Code Playgroud)

ios swift swiftui

9
推荐指数
1
解决办法
3184
查看次数

iOS15 Xcode 13 全局强调色不起作用

我正在使用 Xcode 13 的最新测试版和应用程序,iOS 14现在我面临这个奇怪的问题:我的应用程序的全局强调色工作正常,直到iOS 15更新,此时颜色现在设置为之前的默认蓝色是我的定制颜色。

这是资产目录:
在此输入图像描述

这是我的项目设置页面,您可以在其中看到强调色是正确的。
在此输入图像描述

这就是应用程序构建后的样子。当需要真正的深蓝色/紫色时,颜色为默认蓝色。
在此输入图像描述

swiftui ios15 xcode13

5
推荐指数
1
解决办法
3364
查看次数

标签 统计

swiftui ×3

ios ×1

ios14 ×1

ios15 ×1

ipados ×1

sidebar ×1

swift ×1

xcode12 ×1

xcode13 ×1