相关疑难解决方法(0)

带 Wrap 的 SwiftUI HStack

是否有可能完全显示蓝色标签(当前被截断)然后自动换行?

NavigationLink(destination: GameListView()) {
  VStack(alignment: .leading, spacing: 5){
    // Name der Sammlung:
    Text(collection.name)
      .font(.headline)

    // Optional: Für welche Konsolen bzw. Plattformen:
    HStack(alignment: .top, spacing: 10){
      ForEach(collection.platforms, id: \.self) { platform in
        Text(platform)
          .padding(.all, 5)
          .font(.caption)
          .background(Color.blue)
          .foregroundColor(Color.white)
          .cornerRadius(5)
          .lineLimit(1)
      }
    }
  }
  .padding(.vertical, 10)
}
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

此外,蓝色标签中不应有换行符:

在此处输入图片说明

这就是它最终的样子:

在此处输入图片说明

ios swift swiftui hstack

36
推荐指数
5
解决办法
1万
查看次数

具有环绕和动态高度的 SwiftUI HStack

我有这个视图可以在多行上显示文本标签,这些标签是我从SwiftUI HStack with Wrap 获得的,但是当我将它添加到 VStack 中时,标签会与我放在下面的任何其他视图重叠。标签显示正确,但视图本身的高度不在 VStack 内计算。如何使此视图使用内容的高度?

import SwiftUI

struct TestWrappedLayout: View {
    @State var platforms = ["Ninetendo", "XBox", "PlayStation", "PlayStation 2", "PlayStation 3", "PlayStation 4"]

    var body: some View {
        GeometryReader { geometry in
            self.generateContent(in: geometry)
        }
    }

    private func generateContent(in g: GeometryProxy) -> some View {
        var width = CGFloat.zero
        var height = CGFloat.zero

        return ZStack(alignment: .topLeading) {
            ForEach(self.platforms, id: \.self) { platform in
                self.item(for: platform)
                    .padding([.horizontal, .vertical], 4)
                    .alignmentGuide(.leading, computeValue: { d in …
Run Code Online (Sandbox Code Playgroud)

xcode word-wrap swift swiftui zstack

21
推荐指数
4
解决办法
1万
查看次数

如何在Swift中创建标签列表?

我想创建一个标签列表,我将从一个数组中获取,但我如何将其设置为:

在此输入图像描述

如果线已满,则在下一行中的气泡和自动放置.任何提示或想法?

tags ios swift

8
推荐指数
1
解决办法
8460
查看次数

标签 统计

swift ×3

ios ×2

swiftui ×2

hstack ×1

tags ×1

word-wrap ×1

xcode ×1

zstack ×1