[英]Can I hide the text of the Sign In with Apple button? (a.k.a ASAuthorizationAppleIDButton)?
[英]white or light ASAuthorizationAppleIDButton “Sign in with Apple” button - Swift
我正在实施 ASAuthorizationAppleIDButton - 根据 Apple 的要求 - 但不幸的是,我的登录背景是深色的,我无法找到如何将按钮颜色更改为浅色或白色按钮,就像 Apple 在他们的许多示例中展示的那样?
这就是我所拥有的:
let appleButton = ASAuthorizationAppleIDButton()
override func viewDidLoad() {
super.viewDidLoad()
setAppleButtonStyle()
}
func setAppleButtonStyle() {
if #available(iOS 13.0, *) {
appleButton.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(appleButton)
NSLayoutConstraint.activate([
appleButton.centerYAnchor.constraint(equalTo: facebookLoginView.centerYAnchor, constant: -70),
appleButton.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 16),
appleButton.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -16),
appleButton.heightAnchor.constraint(equalToConstant: 50)
])
} else {
//Do Nothing
}
}
只需在实例化按钮实例时提供所需的style
。
例如
let appleButton = ASAuthorizationAppleIDButton(type: .default, style: .white)
如果您使用的是 Objective-C,这将是您将使用的:
ASAuthorizationAppleIDButton *appleIDButton = [ASAuthorizationAppleIDButton buttonWithType:ASAuthorizationAppleIDButtonTypeContinue style:ASAuthorizationAppleIDButtonStyleBlack];
Swift 5.0 和 SwiftUI,自动调整到暗模式
import SwiftUI
import AuthenticationServices
final class AppleSignInButton: UIViewRepresentable {
@Environment(\.colorScheme) var colorScheme
func makeUIView(context: Context) -> ASAuthorizationAppleIDButton {
return ASAuthorizationAppleIDButton(type: .default, style: colorScheme == .dark ? .white : .black)
}
func updateUIView(_ uiView: ASAuthorizationAppleIDButton, context: Context) {
}
}
用法:
AppleSignInButton()
.frame(width: 300, height: 56) // You can change these values
.onTapGesture {
// Do log in stuff
}
暗模式支持的自动风格:
let button: ASAuthorizationAppleIDButton = ASAuthorizationAppleIDButton(
authorizationButtonType: .default,
authorizationButtonStyle: UITraitCollection.current.userInterfaceStyle == .dark ? .white : .black
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.