在我的项目中,我只是包装了一个 ARView,设置了配置并在我的真实设备上运行它,当我启动应用程序 Xcode 时,打印出以下错误调试消息。
2021-10-08 17:59:06.476537+0800 RealityKit_Shell[8247:2500396] Metal GPU Frame Capture Enabled
2021-10-08 17:59:06.476699+0800 RealityKit_Shell[8247:2500396] Metal API Validation Enabled
2021-10-08 17:59:07.219091+0800 RealityKit_Shell[8247:2500396] [AssetTypes] Registering library (/System/Library/PrivateFrameworks/CoreRE.framework/default.metallib) that already exists in shader manager. Library will be overwritten.
2021-10-08 17:59:07.374894+0800 RealityKit_Shell[8247:2500396] [Assets] Resolving material name 'engine:BuiltinRenderGraphResources/AR/suFeatheringCreateMergedOcclusionMask.rematerial' as an asset path -- this usage is deprecated; instead provide a valid bundle
2021-10-08 17:59:07.395024+0800 RealityKit_Shell[8247:2500396] [Assets] Resolving material name 'engine:BuiltinRenderGraphResources/AR/arKitPassthrough.rematerial' as an asset path -- this usage is deprecated; instead provide a valid bundle …Run Code Online (Sandbox Code Playgroud) 如何将图像放入swiftUI的Form中才能达到与附图相同的效果?
我尝试过这段代码,但不起作用:
struct UserDetails: View {
@ObservedObject var dm : DataManager
@Binding var userLoggato : UserModel?
var body: some View {
Form{
HStack{
Image(systemName: "person")
}
Text(userLoggato?.name ?? "")
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果我在图像之间使用间隔物,我会得到另一条白线,图像位于内部。我希望我的图像具有灰色背景并像附图中那样定位。
您好,我是 Swift 的新手,我正在将 SwiftUI 用于我的项目,我在其中下载了一些天气数据并将其显示在 ContentView() 中。
如果文本中包含某些特定单词,我想突出显示文本的某些部分,但我不知道如何开始。
在 ContentView() 中,我尝试设置一个函数来接收从 web 下载的字符串并返回一个字符串。我认为这是错误的,因为 SwiftUI 根本不为 Text 应用修饰符。
例如,在我的 ContentView() 中,我希望雷暴这个词具有 .bold() 修饰符:
struct ContentView: View {
let testo : String = "There is a thunderstorm in the area"
var body: some View {
Text(highlight(str: testo))
}
func highlight(str: String) -> String {
let textToSearch = "thunderstorm"
var result = ""
if str.contains(textToSearch) {
let index = str.startIndex
result = String( str[index])
}
return result
}
}
Run Code Online (Sandbox Code Playgroud) 使用核心数据我存储一些机场和每个机场我存储不同的笔记
我创建了实体机场和实体简报
Airport 有 1 个属性称为 caoAPT,而 Briefing 有 4 个属性 category、descript、icaoAPT、noteID
在我的 detailsView 上,我显示了与该机场相关的所有注意事项的列表,我设法通过另一个名为 FilterList 的视图进行了动态获取
import SwiftUI
import CoreData
struct FilterLIst: View {
var fetchRequest: FetchRequest<Briefing>
@Environment(\.managedObjectContext) var dbContext
init(filter: String) {
fetchRequest = FetchRequest<Briefing>(entity: Briefing.entity(), sortDescriptors: [], predicate: NSPredicate(format: "airportRel.icaoAPT == %@", filter))
}
func update(_ result : FetchedResults<Briefing>) ->[[Briefing]]{
return Dictionary(grouping: result) { (sequence : Briefing) in
sequence.category
}.values.map{$0}
}
var body: some View {
List{
ForEach(update(self.fetchRequest.wrappedValue), id: \.self) { (section : Briefing) in
Section(header: Text(section.category!)) …Run Code Online (Sandbox Code Playgroud) 我尝试使用 ontapGesture 从 swiftUI 列表中选择一些值。
我有一个项目的搜索列表,用户需要选择一个项目,然后应用程序会将选择发送到一个数组,稍后将用于其他信息。
现在我的问题是我该怎么做?怎么办?正如您从下面的代码中看到的,我想选择与该原始数据对应的 item.icaoAirport 的值并传递给一个数组。
List(dm.vettoreAeroporti.filter{
// $0.icaoCode.contains(searchTerm)
$0.icaoAirport.localizedCaseInsensitiveContains(searchTerm)
}) { item in
HStack {
Text(item.icaoAirport).bold()
Spacer()
Text(item.nameAirport)
}
}
.onAppear {
DispatchQueue.main.asyncAfter(deadline: .now() + 3) {
self.dm.openFileJson(fileName: "data")
}
}
.onTapGesture {
// ?? I need to take the value of the item.icaoAirport corresponding to that raw
}
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助。
在 5 月 SwiftUI 视图中,我尝试显示一个简单的顶部蓝色条、一个红色矩形和一个下部条,正如您从附图中看到的那样,顶部有一个奇怪的白色空间,顶部有一个红色矩形,我想删除但我不明白为什么会存在。
这是简单的代码:
var body: some View {
GeometryReader { geometry in
VStack {
//upper top bar
HStack{
Text("TOP BAR")
}.frame(width: geometry.size.width, height: geometry.size.height/10)
.background(LinearGradient(gradient: Gradient(colors: [Color("BlueW"), Color("DARK")]), startPoint: .topLeading, endPoint: .bottomTrailing).shadow(radius: 2)).edgesIgnoringSafeArea(.all)
// <<<<<<<<<<<<<<<<<<< PROBLEM HERE <<<<<<<<<<<<<<<<<<
// testing rectangle
Rectangle().foregroundColor(.red)
//lower bar
ZStack {
HStack {
Image(systemName: "house")
.resizable()
.aspectRatio(contentMode: .fit)
.padding(20)
.frame(width: geometry.size.width/3, height: 75)
.foregroundColor(self.viewRouter.currentView == "home" ? .black : .gray)
.onTapGesture {
self.viewRouter.currentView = "home"
}
ZStack {
Circle()
.foregroundColor(Color.white)
.frame(width: 75, …Run Code Online (Sandbox Code Playgroud) 我试图理解有关 Scenekit 的 Apple 文档,在谈论 SCNNode 变量时发现一些问题:
\n例如,使用 simdScale 变量或scale 变量应用比例有什么区别?
\n阅读文档,\n无法理解何时以及为何使用“管理节点\xe2\x80\x99s 变换(SceneKit 类型)”下的变量以及何时使用管理节点变换下的变量
\n例如,使用 var "scale" 还是 simdScale 更改 SCNode 的比例更好?
\n我尝试运行此代码,但我在关闭中收到警告...有任何帮助来解决它吗?为了在后台线程中运行函数过滤器,我建议使用过滤器函数运行 init 。
但在关闭时收到此警告:
“weak”只能应用于类和类绑定协议类型,而不是“ContentView”
import SwiftUI
struct ContentView: View {
@ObservedObject var dm: DataManager
@State private var searchTerm : String = ""
@State var filteredAirports: [AirportModel] = []
init(dataM: DataManager) {
self.dm = dataM
dm.filter(valoreSearhed: searchTerm, arrayTosearh: dm.airportVector, closure: { [weak self] in
self?.filteredAirports = $0 })
}
var body: some View {
VStack {
SearchBar(text: $searchTerm)
List {
ForEach(filteredAirports) { valore in
Text(valore.aptICAO)
}
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View { …Run Code Online (Sandbox Code Playgroud) 我SwiftUI有一个简单的搜索TextField,用户输入要搜索的内容和一个按钮搜索。
我只想添加选项以在右下角添加“搜索”按钮Keyboard(我在某些应用程序中看到它)
我怎样才能做到这一点?
有什么方法可以了解用户正在使用哪种类型的设备。
我想使用它来更改 iPhone8 的字体大小, if device == "iPhone8" { use Textfontsize 20 } else { use 10}
多谢