1

我在 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)'

有没有人看到相同的行为并可以提出解决方案/解决方法?

4

0 回答 0