Ios SwiftUI如何实现VKPinCodeView
我已经在我的SwiftUI项目中安装了VKPinCodeView依赖项,但是我无法在我的视图文件中实现它,并且我在任何地方都找不到VKPinCodeView的任何文档。以下是回购协议: 导入VKPinCodeView RegisterOTPView.swiftIos SwiftUI如何实现VKPinCodeView,ios,swift,xcode,swiftui,Ios,Swift,Xcode,Swiftui,我已经在我的SwiftUI项目中安装了VKPinCodeView依赖项,但是我无法在我的视图文件中实现它,并且我在任何地方都找不到VKPinCodeView的任何文档。以下是回购协议: 导入VKPinCodeView RegisterOTPView.swift struct RegisterOTPView: View { var body: some View { ScrollView { VKPinCodeView() }
struct RegisterOTPView: View {
var body: some View {
ScrollView {
VKPinCodeView()
}
}
}
回购协议中仅提及:
override func viewDidLoad() {
super.viewDidLoad()
let pinView = VKPinCodeView()
pinView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(pinView)
pinView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 40).isActive = true
pinView.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -40).isActive = true
pinView.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
pinView.heightAnchor.constraint(equalToConstant: 50).isActive = true
pinView.onSettingStyle = { UnderlineStyle() }
pinView.becomeFirstResponder()
}
如果我没有弄错,这是故事板架构,我如何在SwiftUI中使用它?谢谢。
vkpinodeview
是一个ui视图
,因此您不能在SwiftUI中直接使用它。它必须包装在一个UIViewRepresentable
中
以下是最低设置:
struct VKPinCodeViewWrapper : UIViewRepresentable {
func makeUIView(context: Context) -> VKPinCodeView {
let view = VKPinCodeView()
view.onSettingStyle = { UnderlineStyle() } //taken from your example code
view.becomeFirstResponder() //taken from your example code
return view
}
func updateUIView(_ uiView: VKPinCodeView, context: Context) {
//
}
}
struct RegisterOTPView: View {
var body: some View {
VKPinCodeViewWrapper()
}
}
我还没有使用这个特定的库,所以可能有一些事情需要考虑或改变关于<代码>中的设置:MauuiVIEW//CaseVS在
谢谢您的回答!或者,您对实现OTP pin输入视图还有其他建议吗?此方法不起作用吗?下划线pin视图显示是可行的,但键入时,它显示为空,输入处没有数字。我刚刚更新了我的示例,以删除我从您的原始代码中获取的
滚动视图。这里不需要它,它导致视图被推到范围之外。我刚刚在模拟器上进行了测试,这个更新的代码对我来说很好。