相关疑难解决方法(0)

如何在SwiftUI中创建多行TextField?

我一直在尝试在SwiftUI中创建多行TextField,但是我不知道怎么做。

这是我目前拥有的代码:

struct EditorTextView : View {
    @Binding var text: String

    var body: some View {
        TextField($text)
            .lineLimit(4)
            .multilineTextAlignment(.leading)
            .frame(minWidth: 100, maxWidth: 200, minHeight: 100, maxHeight: .infinity, alignment: .topLeading)
    }
}

#if DEBUG
let sampleText = """
Very long line 1
Very long line 2
Very long line 3
Very long line 4
"""

struct EditorTextView_Previews : PreviewProvider {
    static var previews: some View {
        EditorTextView(text: .constant(sampleText))
            .previewLayout(.fixed(width: 200, height: 200))
    }
}
#endif
Run Code Online (Sandbox Code Playgroud)

但这是输出:

在此处输入图片说明

ios swiftui

31
推荐指数
11
解决办法
5895
查看次数

SwiftUI 中自定义 UIViewRepresentable UITextView 的框架高度问题

我正在通过 UIViewRepresentable 为 SwiftUI 构建自定义 UITextView。它旨在显示NSAttributedString和处理链接按下。一切正常,但是当我在NavigationView带有内联标题的 a 中显示此视图时,框架高度完全混乱。

import SwiftUI

struct AttributedText: UIViewRepresentable {
  class Coordinator: NSObject, UITextViewDelegate {
    var parent: AttributedText

    init(_ view: AttributedText) {
      parent = view
    }

    func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange, interaction: UITextItemInteraction) -> Bool {
      parent.linkPressed(URL)
      return false
    }
  }

  let content: NSAttributedString
  @Binding var height: CGFloat
  var linkPressed: (URL) -> Void

  public func makeUIView(context: Context) -> UITextView {
    let textView = UITextView()
    textView.backgroundColor = .clear …
Run Code Online (Sandbox Code Playgroud)

ios swiftui

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

标签 统计

ios ×2

swiftui ×2