Swift UI 和画布编辑器

Posted

技术标签:

【中文标题】Swift UI 和画布编辑器【英文标题】:Swift UI and Canvas Editor 【发布时间】:2019-07-14 14:39:22 【问题描述】:

在 Xcode 11 的 beta 3 中,画布视图不起作用我总是收到这条消息“TestPremier.app 崩溃:与应用程序的通信被中断”。但是在 ContentView.swift 我没有这个问题。

我已经尝试使用 Swift UI 创建一个新应用程序,我已经“清理构建文件夹”或重新启动运行 Mac OS 10.15 beta 3 的 Mac。

//
//  LongArticleItem.swift
//  TestPremier
//
//  Created by Mathieu Cloart on 13/07/2019.
//  Copyright © 2019 Mathieu Cloart. All rights reserved.
//

import SwiftUI

struct LongArticleItem : View 

var article_data_loading:Article_data_loading

var body: some View 
    VStack(alignment: .leading, spacing: 16.0) 
        Image(article_data_loading.imageName)
            .resizable()
            .renderingMode(.original)
            .aspectRatio(contentMode: .fill)
            .frame(width: 300, height: 170)
            .cornerRadius(10)
            .shadow(radius: 10)

        VStack(alignment: .leading, spacing: 5.0) 
            Text(article_data_loading.name)
                .color(.primary)
                .font(.headline)
            Text(article_data_loading.description)
                .font(.subheadline)
                .color(.secondary)
                .multilineTextAlignment(.leading)
                .lineLimit(4)
                .frame(height: 80)
        

        .frame(width: 330)
    
   


#if DEBUG
struct LongArticleItem_Previews : PreviewProvider 
static var previews: some View 
    LongArticleItem(article_data_loading: articleData[0])


#endif

我希望在画布视图中看到这个结果,但实际上我没有,即使我的构建成功

【问题讨论】:

【参考方案1】:

如果我注释掉这部分,它会在预览中显示:

Image(article_data_loading.imageName)
        .resizable()
        .renderingMode(.original)
        .aspectRatio(contentMode: .fill)
        .frame(width: 300, height: 170)
        .cornerRadius(10)
        .shadow(radius: 10)

我的猜测是它无法加载以 article_data_loading.imageName 命名的图像,因为它在捆绑包中找不到它。 article_data_loading.imageName 代表什么?

【讨论】:

以上是关于Swift UI 和画布编辑器的主要内容,如果未能解决你的问题,请参考以下文章

Swift UI Canvas 未在 macOS 10.15 和 Xcode 11.1 中显示

Unity:在 UI 画布图像的着色器中访问精灵二级纹理

如何使用Cocos Studio UI编辑器

编辑器中的游戏 UI 已缩放(Unity,仅限 Android)

Swift UI 在集合中绑定 TextField

xcode swift - 无法编辑后退按钮