我在 IOS13 beta 中使用 SwiftUI。将我的系统更新到 beta5(Catalyst、Xcode、IOS)后,我的 SwiftUI 形状在 beta4 中运行良好时遇到了问题。
beta5 中的Path()构造函数不断返回 nil,因此我的代码在尝试渲染 SwiftUI 形状/路径时崩溃。
在试图追查问题时,我用一个简单的 ContentView 结构设置了一个非常基本的新项目。该项目显示出相同的行为..
所以目前我认为这不是我的项目环境中的问题,而是框架内的问题。
我还尝试让结构中的路径符合形状协议(下面未注释的代码),但结果是相同的:Path()in中的构造函数func path(...)也返回 nil。
import SwiftUI
//struct CheckShape : Shape {
// func path(in rect: CGRect) -> Path {
//
// var path = Path()
//
// path.move(to: CGPoint(x: rect.minX, y: rect.minY))
// path.addLine(to: CGPoint(x: rect.maxX, y: rect.maxY))
//
// return path
// }
//
//
//}
struct ContentView: View {
var body: some View {
GeometryReader { geo in
Path { p in
let p1 = CGPoint(x: 0.0, y: 0.0)
let p2 = CGPoint(x: geo.size.width, y: geo.size.height)
p.move(to: p1)
p.addLine(to: p2)
}
.stroke(Color.black, lineWidth: 1.0)
}
}
}
当我在模拟器(或设备上)运行代码并中断路径关闭时,我看到 p 为 nil,因此,代码以“线程 1:EXC_BAD_INSTRUCTION”(代码=EXC_I386_INVOP,子代码)中断=0x0)'
有没有人看到相同的行为并可以提出解决方案/解决方法?