微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我可以隐藏 Sign In with Apple 按钮的文本吗? 又名 ASAuthorizationAppleIDButton?

如何解决我可以隐藏 Sign In with Apple 按钮的文本吗? 又名 ASAuthorizationAppleIDButton?

我正在我的 iOS 应用 (SwiftUI) 上使用 Apple 登录

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

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

似乎允许

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

感谢您的建议!

解决方法

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

如果您想自定义行为/外观,则必须创建自己的。我建议你从 init() 开始 SignInWithAppleButton

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

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

onRequestonCompletion 是功能块/完成处理程序,因此您需要 read up on those

所以当您handleAuthorizationAppleIDButtonPress(添加到请求)以及您的ASAuthorizationControllerDelegate返回.success.failure时,您知道如何使用它们

您的 View body 只需要一个 Button 来调用您的 handleAuthorizationAppleIDButtonPress() 中的ViewModel(请参阅 Apple 的示例代码)

您可以在文档 Implementing User Authentication with Sign in with Apple

中找到 Apple 的示例代码

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。