首页 > 解决方案 > SwiftUI Text 似乎依赖于 Image

问题描述

我有以下代码,显示文章的特色图片和文章的标题。但是,当 Image 对象存在时,Text 对象不会变成多行,不会截断等。

但是,当我注释掉 Image 对象时,文本会完全按照我的意愿呈现。

这是预期的行为还是我做错了什么?

import SwiftUI

struct articleDetail: View {

    var article : News

    var body: some View {
        VStack{
            Image(uiImage: UIImage(data: article.image ?? Data()) ?? UIImage(imageLiteralResourceName: "protoLogo"))
                .scaledToFill()
                .frame(height: 200)
                .clipped()
                .listRowInsets(EdgeInsets())

            Text(article.title!)
                .font(.title)
                .fontWeight(.bold)
                .multilineTextAlignment(.leading)
                .lineLimit(nil)
                .lineSpacing(10)
                .fixedSize(horizontal: false, vertical: true)
                .truncationMode(.head)
                .padding()
        }
    }
}

标签: iosswiftxcodeswiftui

解决方案


我假设你期望像下面的演示

演示

var body: some View {
    VStack {
        Image(uiImage: UIImage(data: article.image ?? Data()) ?? UIImage(imageLiteralResourceName: "protoLogo"))
            .resizable()
            .scaledToFill()
            .frame(height: 200)
            .clipped()
            .listRowInsets(EdgeInsets())

        Text(article.title!)
            .font(.title)
            .fontWeight(.bold)
            .padding()
    }
}

注意:还删除了所有不需要/默认的修饰符


推荐阅读