【问题标题】:How to define the line limits inside a List with stacks on SwiftUI如何在 SwiftUI 上使用堆栈定义列表内的行限制
【发布时间】:2019-07-28 12:56:43
【问题描述】:

我想在列表中包含自定义单元格,但 V 堆栈中的文本不会换行并构成第二行。它以 ... 结尾,并且不会出现第二、第三行,因为需要的行数。

我已经对每个堆栈和视图以及列表本身尝试了 .linelimit(nil) 和 .linelimit(random number) 和 .scaledToFill(),但它对我没有帮助。最终,我做了 \n 并且成功了,但这不是我想要的。

struct ContentView: View {

var body: some View {

    List {
        VStack(alignment: .leading) {
            HStack {
                Image(systemName: "a.square").font(.largeTitle)
                Text("Title 1").font(.largeTitle)
            }
            Text("Lorem ipsum dolor sit amet lalallaa. Lorem ipsum dolor sit amet lalallaa. Lorem ipsum dolor sit amet lalallaa. Lorem ipsum dolor sit amet lalallaa. ").font(.subheadline)
            }

        VStack(alignment: .leading) {
            HStack {
                Image(systemName: "b.square").font(.largeTitle)
                Text("Title 2").font(.largeTitle)
            }
            Text("Lorem ipsum dolor sit amet lalallaa. Lorem ipsum dolor sit amet lalallaa. Lorem ipsum dolor sit amet lalallaa. Lorem ipsum dolor sit amet lalallaa. ").font(.subheadline)
        }
    }//.lineLimit(nil)
}
}

我想将文本“Lorem ipsom dolor...”换行并作为第二行。第一张图是问题,第二张是\n分辨率的安慰剂。

Xcode 11 测试版 4 提前致谢!

【问题讨论】:

    标签: ios swift swiftui


    【解决方案1】:

    我只能通过使用带有填充的 ZStack 来更正视图的布局来获得预期的布局。或者,自定义对齐也有可能。

    编辑:您还可以在文本字段中使用 .frame(idealHeight: .infinity) 修饰符。它会扩展,但总是缺少一行。

    truct MultiT: View {
           var body: some View {
    
        List {
            ZStack(alignment: .topLeading) {
    
                Image(systemName: "a.square")
                    .font(.largeTitle)
                    .padding(.top, 8)
                Text("Title 1")
                    .font(.largeTitle)
                    .padding(.leading, 40)
    
                Text("Lorem ipsum dolor sit amet lalallaa. Lorem ipsum dolor sit amet lalallaa. Lorem ipsum dolor sit amet lalallaa. Lorem ipsum dolor sit amet lalallaa. ")
                    .font(.subheadline)
                    .padding(.top, 40)
            }
    
            ZStack(alignment: .topLeading) {
    
                Image(systemName: "b.square")
                    .font(.largeTitle)
                    .padding(.top, 8)
                Text("Title 2")
                    .font(.largeTitle)
                    .padding(.leading, 40)
    
                Text("Lorem ipsum dolor sit amet lalallaa. Lorem ipsum dolor sit amet lalallaa. Lorem ipsum dolor sit amet lalallaa. Lorem ipsum dolor sit amet lalallaa. Lorem ipsum dolor sit amet lalallaa. Lorem ipsum dolor sit amet lalallaa. Lorem ipsum dolor sit amet lalallaa. Lorem ipsum dolor sit amet lalallaa. ")
                    .font(.subheadline)
                    .padding(.top, 40)
            }
        }.lineLimit(nil)
    }
    }
    

    【讨论】:

      猜你喜欢
      • 2012-04-02
      • 1970-01-01
      • 1970-01-01
      • 2011-02-16
      • 2020-12-17
      • 2020-06-19
      • 1970-01-01
      • 2021-01-09
      • 2014-10-13
      相关资源
      最近更新 更多