我是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) 我的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)
但这是行不通的。抱歉,如果我没有以正确的格式提出这个问题,这是我的第一个问题!
我将我的项目嵌入到导航链接的列表(行)中
\n\n我的物品变成蓝色点击
\n\n这是我的代码:
\n\n玩具行.swift
\n\nstruct 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}\nRun Code Online (Sandbox Code Playgroud)\n\n所以创建 NavigationView 没有帮助 \xe2\x80\x93\xe2\x80\x93 它变成灰色
\n我想生成一个所有区域设置标识符的列表,供用户选择作为默认值。类似于在标准设置中选择区域。
因此,我想生成一个列表,其中包含例如“澳大利亚”、“奥地利”、“阿塞拜疆”、...、“也门”、“赞比亚”、“津巴布韦”。如果用户选择“澳大利亚”,我想返回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)
谢谢
在 IOS 上也遇到了构建问题,“为 iOS 模拟器构建,但在为 iOS 构建的 dylib 中链接,文件‘.../platforms/ios/Pods/CouchbaseLite/iOS/CouchbaseLite.framework/CouchbaseLite’用于架构 arm64”
我目前使用的是nativescript 6.5.3 和cocoapod 1.10。采用M1芯片组。
我在 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) 我有一个具有两个结构的模块 (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) 应使用前一个 (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) 我为 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+ 起可用。
如有任何帮助,我们将不胜感激:-)
我刚刚开始学习 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) 我正在将SwiftUI与Xcode 11结合使用,我想NavigationBarTitle用以下代码行更改字体:
.navigationBarTitle (Text("Navigation Bar Title"), displayMode: .inline)
.font(.subheadline)
Run Code Online (Sandbox Code Playgroud)
但是什么也没发生。有什么建议或意见吗?