小编use*_*119的帖子

使用 SwiftUI 实现 Apple Pay

这是我第一次在一个大项目中使用 PassKit 和 SwiftUI。我正在尝试实现 Apple Pay SwiftUI,并且由于还没有本地方式来实现,因此我尝试将 PKPaymentAuthorizationViewController 包装在 UIViewControllerRepresentable 中,但我不确定我是否正确执行此操作。

该视图显示正确,并且在单击它付款时似乎可以正常工作。我通过将视图绑定到 isPresentingApplePay bool 来控制显示窗口(见下文)。应该关闭窗口时会发生问题。点击cancel按钮不会关闭视图;有时它甚至不调用 paymentAuthorizationViewControllerDidFinish 委托函数。提交付款也会发生同样的事情。有时会调用 didFinish 委托,但不会取消视图。我尝试传递绑定变量 isPresentingApplePay 并将其从 didFinish设置为false但它没有做任何事情。让视图消失的唯一方法是点击苹果支付窗口的任何部分。

有谁知道我做错了什么?有什么我完全想念的吗?

通过将视图绑定到 if statement

这是我的 PKPaymentAuthorizationViewController 包装器:

import Foundation
import PassKit
import SwiftUI

struct ApplePayController: UIViewControllerRepresentable {
    @Environment(\.presentationMode) var presentationMode
    @EnvironmentObject var userData: UserData
    @Binding var purchase: Purchase
    @Binding var isPresenting: Bool

    let items: [PKPaymentSummaryItem]

    func updateUIViewController(_ uiViewController: PKPaymentAuthorizationViewController, context: Context) {

    }

    typealias UIViewControllerType = PKPaymentAuthorizationViewController


    func makeUIViewController(context: Context) …
Run Code Online (Sandbox Code Playgroud)

ios passkit applepay swiftui uiviewrepresentable

10
推荐指数
1
解决办法
2587
查看次数

Linux中的C++简单打开文件对话框

我想知道是否有人可以帮助我在Ubuntu中用C++实现一个简单的文件打开对话框.我正在使用OpenGL作为我的GUI,但我希望用户能够在程序加载时选择一个文件.我试过gtkmm和wxWidgets,但它们似乎太复杂了我想做的事情.

c++ linux dialog file

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

标签 统计

applepay ×1

c++ ×1

dialog ×1

file ×1

ios ×1

linux ×1

passkit ×1

swiftui ×1

uiviewrepresentable ×1