Swift TVDigitEntryViewController-只能选择第一位数字

Swift TVDigitEntryViewController-只能选择第一位数字,swift,swiftui,tvos,tvuikit,Swift,Swiftui,Tvos,Tvuikit,我正在SwiftUI中实现TVDigitEntryViewController。但是,屏幕呈现正确,尽管选择区域显示数字1-0加上退格,但我只能关注数字1。任何正确的刷卡都会被拒绝,焦点只会停留在#1上 代码如下: import SwiftUI import TVUIKit struct LinkAccountView: UIViewControllerRepresentable { func makeUIViewController(context: Context) ->

我正在SwiftUI中实现
TVDigitEntryViewController
。但是,屏幕呈现正确,尽管选择区域显示数字1-0加上退格,但我只能关注数字
1
。任何正确的刷卡都会被拒绝,焦点只会停留在#1上

代码如下:

import SwiftUI
import TVUIKit

struct LinkAccountView: UIViewControllerRepresentable {

    func makeUIViewController(context: Context) -> UIViewController {
        return LinkAccountVC()
    }

    func updateUIViewController(_ viewController: UIViewController, context: Context) {

    }
}

class LinkAccountVC: TVDigitEntryViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        self.numberOfDigits = 4
        self.titleText = "Link Code"
        entryCompletionHandler = { (enteredCode) in
            print("Code:\(enteredCode)")
        }
    }
} 
更新:在没有SwiftUI的情况下实现是可行的,因此出于某些原因,问题肯定是SwiftUI

以下是一个完整的示例项目,可用于演示该问题:

import SwiftUI  
import TVUIKit  


struct ContentView: View {  
    var body: some View {  
        VStack {  
            Spacer()  
            NavigationView {  
                List {  
                    NavigationLink(destination: LinkAccountView()) {  
                        HStack {  
                            Image(systemName: "link")  
                                .font(.headline)  
                            Text("Link Account")  
                                .font(.headline)  
                        }  
                    }  
                }  
                .padding()  
                .navigationBarTitle("Settings")  
            }  
        }  
    }  
}  


struct LinkAccountView: UIViewControllerRepresentable {  

    func makeUIViewController(context: Context) -> TVDigitEntryViewController {  
        return LinkAccountVC()  
    }  

    func updateUIViewController(_ viewController: TVDigitEntryViewController, context: Context) {  


    }  
}  


class LinkAccountVC: TVDigitEntryViewController {  
    override func viewDidLoad() {  
        super.viewDidLoad()  

        self.numberOfDigits = 4  
        self.titleText = "Link Code"  
        entryCompletionHandler = { (enteredCode) in  
            print("Code:\(enteredCode)")  
        }  
    }  
}  

你最终解决了这个问题吗?@JoostvandenAkker-不幸的是没有。我当时用UIKit写这篇文章。考虑到这已经是近一年前的事了,SwiftUI已经更新了,也许已经解决了。然而,如果你现在问这个问题,我想它还没有……你最终解决了这个问题吗?@JoostvandenAkker-不幸的是,没有。我当时用UIKit写这篇文章。考虑到这已经是近一年前的事了,SwiftUI已经更新了,也许已经解决了。然而,如果你现在问这个问题,我想它没有。。。。