SwiftUI submitLabel ไม่ได้ทำงานอยู่ TextEditor

0

คำถาม

ฉันต้องการใช้ .submitLabel เพื่อเปลี่ยน"อบแทน"กุญแจบางอย่างอื่นอีก(คือ, .doneแต่มันไม่ปรากฏตัวต่อหน้าเพื่อทำงานกับครอบค TextEditor นำเข้าข้อมูลเป็นแบบนี้ มันควรจะทำงั้นเหรอ?

ตัวอย่างรหัส:

struct ContentView: View {
    @State var text: String = ""

    var body: some View {
        Form {
            TextEditor(text: $text)
                .submitLabel(.search)
        }
    }
}
input swiftui
2021-11-24 00:06:56
1

คำตอบที่ดีที่สุด

1

พิสนับสนุน

  • สนับสนุนการเพิ่มใน Xcode 13.2 นอื่นที่เหมาะสมกับเธอไว้ 3 ซึ่งเป็นยังมีอยู่

แก้ชั่วคราว

โอเคดังนั้นจากพื้นฐานของฉันพยายาม, .submitLabel(...) ไม่ฟังก์ชันกับ TextEditor. มันเป็นไปได้ทางออกไปไหนคุณเพิ่ม Text(...) เป็น subview ไป TextEditor(...) แต่นั่นมันสุดๆ jenk และฉันจะไม่แนะนำให้ มีอยู่อย่างไรก็ตามวิธีแก้ปัญหาฉันเจอสำหรับ iOS 13 มันดูเหมือนจะฟังก์ชันส่วนผสมที่แน่นอนวิธีเดียวกับที่ TextEditor ดูเหมือนจะทำงานและนั่นคือที่จะใช้ UIViewRepresentable. ขอบคุณที่มันง่ายมากที่จะไว้ก่อน สร้างนี่ struct.

struct TextView: UIViewRepresentable {
    
    typealias UIViewType = UITextView
    var configuration = { (view: UIViewType) in }
    
    func makeUIView(context: UIViewRepresentableContext<Self>) -> UIViewType {
        UIViewType()
    }
    
    func updateUIView(_ uiView: UIViewType, context: UIViewRepresentableContext<Self>) {
        configuration(uiView)
    }
}

งั้นใช้มันในมุมมองอย่างที่คุณต้องการใช้ TextView() ที่คุณกำหนดของมันคุณสมบัติของ. นี่คือรถดึงเหนือ UIKit เวอร์ชั่นของ textView ดังนั้นคุณสมบัติของมันจะเป็นเหมือนกัน คุณสามารถหาแฟนซีกับมันตอนนี้และผสม SwiftUI และ UIKit คุณสมบัติและแก้ไขล่าสุด:.

    TextView { view in
        view.text = sampleText
        view.returnKeyType = .done
    }
2021-11-25 01:56:48

มีเสียงมันเป็น iOS 13 ทางออก? ที่เหลือของโครงการคือเป้าหมายที่ iOS อายุ 15
John Sorensen

คนเดียว"แย่"มันมีข้อตกลงกับ UIViewRepresentable แต่มันดูเหมือนจะเป็นที่ง่ายที่สุดทางออกหรอกนะ คุณมีตัวเลือกนี้เพื่อสร้างของตัวเองกำหนดเองในมุมมองที่ utilizes Text(...) และใช้ @ViewBuilder เพื่อสร้างมุมมองอย่างที่คุณไปแต่ฉันถึงรู้สึกว่าแอปเปิ้ลนั่นคือความพยายามมากเกินไปสำหรับอะไรที่มันเสียไปคุ้มค่ามาก
xTwisteDx

@xTwisteDx:มีเหตุผลอะไรที่ใช้ UIViewRepresentableContext<Self>แทนที่จะเป็น Context?
swiftPunk

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................