小编Moj*_*ini的帖子

无法解析的标识符NavigationButton错误

我是swiftUI的新手,只是想弄清楚基础知识。我只是试图创建一个新视图和一个将移至该视图的按钮。

当我使用下面的代码时,出现错误:尽管使用了未解析的标识符'NavigationButton',但该错误是由Xcode生成的。

import SwiftUI

struct HomeView: View {

    var body: some View{
        NavigationView {
            NavigationButton(destination: NextView()) {
                Text("Navigate 1")}
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

xcode ios swift swiftui xcode11

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

SwiftUI - ForEach 循环中的增量变量

我的ContentView

List {
    ForEach(items) { Item in
        ItemView(cellColor: self.$cellColor, title: item.title, orderId: "\(item.orderId)")
    }
}
Run Code Online (Sandbox Code Playgroud)

我想更新一个变量,假设在循环的每次迭代中向其添加 1,但我无法让 SwiftUI 执行此操作。像这样的东西:

var a: Int = 1
List {
    ForEach(toDoItems) { toDoItem in
        ToDoItemView(cellColor: self.$cellColor, title: toDoItem.title, orderId: "\(toDoItem.orderId)")
        a = a + 1
    }
}
Run Code Online (Sandbox Code Playgroud)

但这是行不通的。抱歉,如果我没有以正确的格式提出这个问题,这是我的第一个问题!

swiftui

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

为什么列表中带有导航链接的项目会变成蓝色?

我将我的项目嵌入到导航链接的列表(行)中

\n\n

我的物品变成蓝色点击

\n\n

这是我的代码:

\n\n

玩具行.swift

\n\n
struct ToyRow: View {\n    var category: String\n    var toys:[Toy]\n\n    var body: some View {\n\n        Group {\n            VStack{\n\n                VStack(alignment: .leading){\n                    Text(category).padding().font(.largeTitle)\n                    ScrollView(.horizontal, showsIndicators: false){\n                        HStack(alignment: .top){\n                            ForEach(self.toys){\n                                toy1 in\n                                NavigationLink(destination: ToyDetail(toy: toy1)) {\n                                    ToyItem(toy: toy1)\n                                }.padding()\n\n                            }\n                        }\n                    }\n\n                }\n            }\n        }\n\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

所以创建 NavigationView 没有帮助 \xe2\x80\x93\xe2\x80\x93 它变成灰色

\n

swift swiftui

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

列出所有区域设置标识符和相应的区域文本 Swiftui

我想生成一个所有区域设置标识符的列表,供用户选择作为默认值。类似于在标准设置中选择区域。

因此,我想生成一个列表,其中包含例如“澳大利亚”、“奥地利”、“阿塞拜疆”、...、“也门”、“赞比亚”、“津巴布韦”。如果用户选择“澳大利亚”,我想返回en_AU.

所以需要确定下Locale可以使用的属性以及如何遍历它。

目前,只是想看看我是否可以返回文本,例如“澳大利亚”:

Text(Locale.localizedString(Locale.init(identifier: Locale.availableIdentifiers[0].description)))
Run Code Online (Sandbox Code Playgroud)

但是返回错误:

Closure containing control flow statement cannot be used with function builder 'ViewBuilder'
Run Code Online (Sandbox Code Playgroud)

谢谢

locale region swift swiftui

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

XCode 12.3 为 iOS 模拟器构建,但链接到为 iOS 构建的 dylib、使用 M1 芯片组的架构 arm64 的 couchbaselite 框架

在 IOS 上也遇到了构建问题,“为 iOS 模拟器构建,但在为 iOS 构建的 dylib 中链接,文件‘.../platforms/ios/Pods/CouchbaseLite/iOS/CouchbaseLite.framework/CouchbaseLite’用于架构 arm64”

我目前使用的是nativescript 6.5.3 和cocoapod 1.10。采用M1芯片组。

xcode cocoapods couchbase-lite nativescript xcode12

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

当应用程序放入后台时,SwiftUI 应用程序返回到第一个屏幕

我在 SwiftUI 中构建了一个应用程序,但遇到了一个恼人的问题。

当应用程序出现时,应用程序会显示自定义启动屏幕,同时应用程序的数据会异步加载。完成后,应用程序的主视图将呈现给用户。一旦用户到达这一点,一旦他们将应用程序拖回到后台,导航堆栈就会无缘无故地弹回第一个启动屏幕。

以下是相关代码片段:

MyApp.swift

@main
struct Jam500App: App {
    
    @Environment(\.scenePhase) var lifecycle

    init() {
        //initial setup goes here
    }
    
    var body: some Scene {
        WindowGroup {
                LaunchView()
        }
    }
    
}
Run Code Online (Sandbox Code Playgroud)

LaunchView.swift

struct LaunchView: View {
    
    @ObservedObject var control: LaunchViewControl = LaunchViewControl()
    
    var body: some View {
        NavigationView(content: {
            ZStack {
                //some view hierarchy                 
                NavigationLink(destination: RootView(),
                               isActive: $control.isReady,
                               label: {EmptyView()})

            }
            .onAppear(perform: {
                control.loadData()
            })
            .navigationBarTitle("")
            .navigationBarHidden(true)
            .statusBar(hidden: true)
        }).navigationViewStyle(StackNavigationViewStyle())
    }
    
}
Run Code Online (Sandbox Code Playgroud)

LaunchViewControl.swift

final class LaunchViewControl: ObservableObject {
    
    @Published …
Run Code Online (Sandbox Code Playgroud)

ios swiftui

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

从嵌套的 Swift 包访问资产时,SwiftUI 预览会崩溃

一个模块

我有一个具有两个结构的模块 (A)。

  • 一种直接在代码中启动的颜色。
  • 一种从资产加载的颜色。
public struct CodeColor {
    public init() { }
    public let value = SwiftUI.Color(#colorLiteral(red: 0.8549019694, green: 0.250980407, blue: 0.4784313738, alpha: 1))
}

public struct AssetColor {
    public init() { }
    public let value = SwiftUI.Color("Legacy/Material/Gold", bundle: .module)
}
Run Code Online (Sandbox Code Playgroud)

预览效果很好:

预览


B模块

第二个模块 (B) 应使用前一个 (A) 作为依赖项从以下位置加载颜色:

import A

public struct CodeColor {
    public init() { }
    public var value: SwiftUI.Color { A.CodeColor().value }
}

public struct AssetColor {
    public init() { }
    public var value: SwiftUI.Color { …
Run Code Online (Sandbox Code Playgroud)

xcode swift-package-manager swiftui

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

UIButton 的系统映像出现在 iOS14 中,但不在 iOS13 中

我为 UIButtons 以及选项卡栏中设置了系统图像。这适用于 iOS 14,但在 iOS 13 上图像丢失。

iOS 13 上系统映像丢失的原因可能是什么?

细节:

我在故事板中有一个按钮,其图像属性设置为“square.and.arrow.up”。(参见下面的屏幕截图)该图像出现在 iOS 14 上,但不在 iOS 13 上(参见下面的屏幕截图。模拟器重叠)

选项卡栏项目也会发生类似的行为。(见下面的其他截图)

Xcode 为 12.5、MacOS 11.2.3、iOS 模拟器 13.6 和 14.5。这种情况也发生在设备上,而不仅仅是模拟器中。

SF Symbols App 声称该图标自 iOS 13+ 起可用。

如有任何帮助,我们将不胜感激:-)

故事板中的 UIButton 图像属性

在两个模拟器中的外观

模拟器中选项卡栏项目的外观

图标可用性

xcode ios ios13 ios14

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

Apple 的 SwiftUI 教程代码不显示自制副本中的视图内容

我刚刚开始学习 SwiftUI,按照此链接上的 Apple 教程构建 iOS 应用程序。我从提供的框架应用程序开始,并在最新的 Xcode 中一步步进行操作。没有看到我应该看到的内容,而是CardView仅显示一个空白的白色矩形。

苹果提供了一个完整的项目,运行得很好。我将我从框架项目构建的代码与已完成的项目附带的代码进行了比较,它们看起来是相同的。然而,我自制的项目副本根本没有填写CardView. 没有颜色、文本或图标,只有一个空白的白色矩形。除了简单地将代码与固定示例进行比较之外,我完全不知道如何调试它。欢迎任何建议。

这是 CardView.swift 的代码:

import SwiftUI

struct CardView: View {
    let scrum: DailyScrum
    var body: some View {
        VStack(alignment: .leading) {
            Text(scrum.title).font(.headline)
            Spacer()
            HStack {
                Label("\(scrum.attendees.count)", systemImage: "person.3")
                    .accessibilityElement(children: .ignore)
                    .accessibilityLabel(Text("Attendees"))
                    .accessibilityValue(Text("\(scrum.attendees.count)"))
                Spacer()
                Label("\(scrum.lengthInMinutes)", systemImage: "clock")
                    .padding(.trailing, 20)
                    .accessibilityElement(children: .ignore)
                    .accessibilityLabel(Text("Meeting length"))
                    .accessibilityValue(Text("\(scrum.lengthInMinutes) minutes"))
            }
            .font(.caption)
        }
        .padding()
        .foregroundColor(scrum.color.accessibleFontColor)

    }
}

struct CardView_Previews: PreviewProvider {
    static var scrum = DailyScrum.data[0]
    static var previews: some View { …
Run Code Online (Sandbox Code Playgroud)

xcode preview ios swift swiftui

5
推荐指数
2
解决办法
2778
查看次数

如何在SwiftUI中更改.navigationBarTitle字体?

我正在将SwiftUI与Xcode 11结合使用,我想NavigationBarTitle用以下代码行更改字体:

.navigationBarTitle (Text("Navigation Bar Title"), displayMode: .inline)
    .font(.subheadline)
Run Code Online (Sandbox Code Playgroud)

但是什么也没发生。有什么建议或意见吗?

ios swift swiftui xcode11

4
推荐指数
1
解决办法
1231
查看次数