我可以隐藏“使用 Apple 登录”按钮的文本吗? (a.k.a ASAuthorizationAppleIDButton)?

Can I hide the text of the Sign In with Apple button? (a.k.a ASAuthorizationAppleIDButton)?

我正在我的 iOS 应用程序 (SwiftUI) 上实施 Sign In with Apple。

在 SwiftUI 中,我可以使用 'SignInWithAppleButton' (https://morioh.com/p/524e0408008c),此按钮显示 Apple 徽标和文本,可以是“Sign In with Apple”、“Sign Up with Apple”或“继续使用 Apple”,具体取决于选择的按钮类型 (ASAuthorizationAppleIDButton.ButtonType)。

但是,我希望按钮的大小为 120x60(宽 x 高)。如果我只是调整这个按钮的大小,文本仍然可见并且显示得很小,苹果图标也被调整大小并且看不到,所以它无法使用。我只想显示 Apple 图标。设计指南似乎允许 (https://developer.apple.com/design/human-interface-guidelines/sign-in-with-apple/overview/buttons/)

我如何在 SwiftUI 中执行此操作?我找不到使用 Apple 按钮实现自定义登录的示例。

感谢指教!

您只会找到编程基本部分的示例代码。

如果您想自定义 behavior/looks,您将必须创建自己的。我建议您从 init() 开始 SignInWithAppleButton

init(SignInWithAppleButton.Label, onRequest: (ASAuthorizationAppleIDRequest) -> Void, onCompletion: ((Result<ASAuthorization, Error>) -> Void))

然后创建一个 View 和一个使用该初始化器的 ViewModel: ASAuthorizationControllerDelegate

onRequestonCompletion 是函数 blocks/completion 处理程序,因此您需要 read up on those

因此,当您 handleAuthorizationAppleIDButtonPress(添加到请求中)以及 ASAuthorizationControllerDelegate returns .success.failure[ 时,您知道如何使用它们=28=]

你的 View body 只需要一个 Button 调用 ViewModel 中的 handleAuthorizationAppleIDButtonPress() (参见 Apple 的示例代码)

您可以在文档中找到 Apple 的示例代码 Implementing User Authentication with Sign in with Apple

Whosebug 不是代码编写服务,但如果您有代码,我们可以帮助您解决任何问题