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

iqxoj9l9  于 2023-06-25  发布在  iOS
关注(0)|答案(1)|浏览(147)

我正在我的iOS应用程序(SwiftUI)上使用Apple进行登录。
在SwiftUI中,我可以使用“SignInWithAppleButton”(https://morioh.com/p/524e0408008c),此按钮显示Apple徽标和一个文本,可以是“与Apple登录”、“与Apple注册”或“继续与Apple”,具体取决于选择的按钮类型(ASAuthorizationAppleIDButton.ButtonType)。
不过,我希望按钮的大小为120 x60(WxH)。如果我只是调整这个按钮的大小,文本仍然可见,显示非常小,苹果图标也调整了大小,无法看到,所以它是不可用的。我只想显示Apple图标**。这似乎是设计指南所允许的(https://developer.apple.com/design/human-interface-guidelines/sign-in-with-apple/overview/buttons/
如何在SwiftUI中实现这一点?我找不到使用Apple按钮实现自定义登录的示例。
谢谢你的建议!

iq0todco

iq0todco1#

您将只找到编程基本部分的示例代码。
如果你想自定义行为/外观,你将不得不创建自己的。我建议您从SignInWithAppleButtoninit()开始

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

然后创建一个View和一个使用该初始化器的ViewModel: ASAuthorizationControllerDelegate
onRequestonCompletion是函数块/完成处理程序,因此需要read up on those
因此,您知道如何在handleAuthorizationAppleIDButtonPress(添加到请求)以及ASAuthorizationControllerDelegate返回.success.failure时使用它们
您的Viewbody只需要调用ViewModel中的handleAuthorizationAppleIDButtonPress()Button(参见Apple的示例代码)
您可以在文档Implementing User Authentication with Sign in with Apple中找到Apple的示例代码

相关问题