iOS项目中Sign in with Apple按钮自定义及模拟器适配相关问题咨询
iOS Simulator中能否对Sign in with Apple按钮进行自定义调整?
可以自定义调整,仅存在两处限制:
- 需确保运行的模拟器系统版本为iOS 13及以上,Sign in with Apple是iOS 13版本才推出的系统能力
- 模拟器仅支持预览按钮的自定义UI效果,无法完成完整的Sign in with Apple授权登录流程调试,完整流程需要使用真机测试,该限制不影响按钮UI自定义的调整和效果预览。
Objective-C开发的iOS项目中,Sign in with Apple按钮是否支持自定义设置?
完全支持,可自定义的维度及实现方式如下:
- 预设类型选择:支持三种系统预设的按钮类型,分别是
ASAuthorizationAppleIDButtonTypeSignIn(登录样式)、ASAuthorizationAppleIDButtonTypeContinue(继续样式)、ASAuthorizationAppleIDButtonTypeSignUp(注册样式) - 预设配色选择:支持三种系统预设的按钮配色,分别是
ASAuthorizationAppleIDButtonStyleWhite(白底黑字)、ASAuthorizationAppleIDButtonStyleWhiteOutline(白底黑字加黑边框)、ASAuthorizationAppleIDButtonStyleBlack(黑底白字) - 圆角自定义:可直接修改按钮的
cornerRadius属性调整圆角大小,示例代码:
// 初始化Sign in with Apple按钮 ASAuthorizationAppleIDButton *appleLoginBtn = [[ASAuthorizationAppleIDButton alloc] initWithType:ASAuthorizationAppleIDButtonTypeSignIn style:ASAuthorizationAppleIDButtonStyleBlack]; // 自定义圆角为10 appleLoginBtn.cornerRadius = 10; // 添加到父视图 [self.view addSubview:appleLoginBtn];
- 尺寸自定义:可直接给按钮设置固定frame或者自动布局约束,不需要严格遵循系统默认尺寸,只要保证按钮宽高比合理不影响核心元素展示即可。
注意:
- 不要随意篡改系统自带
ASAuthorizationAppleIDButton内部的图标、文字内容,苹果官方审核规则明确要求Sign in with Apple按钮的核心标识不能被修改,否则可能导致应用审核被拒- 若需要实现和系统预设样式差异较大的按钮,也可以自行创建普通
UIButton,按照苹果官方设计规范配置对应的图标和文字,点击时触发Sign in with Apple授权流程即可,该方案同样兼容Objective-C项目。
内容的提问来源于stack exchange,提问作者sejn
相关产品推荐
相关产品推荐

