uni-app iOS 一键登录 页面样式 Bug
uni-app iOS 一键登录 页面样式 Bug
示例代码:
closeIcon: {
path: '/static/img/analysis/close.png', // 自定义关闭按钮,仅支持本地图片。 HBuilderX3.3.7+版本支持
width: '20px', //图标宽度 默认值:60px
height: '20px' //图标高度 默认值:60px
},
authButton: {
normalColor: '#db6156', // 授权按钮正常状态背景颜色 默认值:#3479f5
highlightColor: '#db6156',
textColor: '#ffffff', // 授权按钮文字颜色 默认值:#ffffff
title: '本机号码一键登录', // 授权按钮文案 默认值:“本机号码一键登录”
borderRadius: '12px' // 授权按钮圆角 默认值:"24px" (按钮高度的一半)
},
操作步骤:
closeIcon: {
path: '/static/img/analysis/close.png', // 自定义关闭按钮,仅支持本地图片。 HBuilderX3.3.7+版本支持
width: '20px', //图标宽度 默认值:60px
height: '20px' //图标高度 默认值:60px
},
authButton: {
normalColor: '#db6156', // 授权按钮正常状态背景颜色 默认值:#3479f5
highlightColor: '#db6156',
textColor: '#ffffff', // 授权按钮文字颜色 默认值:#ffffff
title: '本机号码一键登录', // 授权按钮文案 默认值:“本机号码一键登录”
borderRadius: '12px' // 授权按钮圆角 默认值:"24px" (按钮高度的一半)
},
预期结果:
closeIcon 设置了宽高,可以生效。 authButton 下的 normalColor 已经设置了颜色 可以生效
实际结果:
authButton 下的 normalColor 已经设置了颜色,但是不生效 closeIcon也设置了大小,也不生效 在安卓是生效的,在iOS就不生效
bug描述:
iOS App 一键登录 authButton 下的 normalColor 已经设置了颜色,但是不生效.只有勾选了下面的协议,然后按键才会生效, closeIcon也设置了大小,也不生效 在安卓是生效的,在iOS就不生效
图片
项目信息 | 描述 |
---|---|
产品分类 | uniapp/App |
PC开发环境操作系统 | Mac |
PC开发环境操作系统版本号 | macOS 12.6.3 |
HBuilderX类型 | 正式 |
HBuilderX版本号 | 3.98 |
手机系统 | iOS |
手机系统版本号 | iOS 16 |
手机厂商 | 苹果 |
手机机型 | iphone13 |
页面类型 | vue |
vue版本 | vue2 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
更多关于uni-app iOS 一键登录 页面样式 Bug的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
closeIcon iOS目前不支持设置大小 后续会考虑跟安卓拉齐 不可点击的时候iOS按钮使用的是disabledColor 勾选后使用的normalColor 这一点可以看一下文档
https://uniapp.dcloud.net.cn/univerify.html#概述
更多关于uni-app iOS 一键登录 页面样式 Bug的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在使用 uni-app 开发 iOS 应用时,如果遇到一键登录页面样式问题,可能是由于以下原因导致的。以下是一些常见的排查和解决方法:
1. iOS 一键登录页面样式问题
- 问题描述:iOS 一键登录页面(通常是
ASAuthorizationController
提供的原生页面)样式不符合预期,比如按钮位置、颜色、字体等。 - 可能原因:
- iOS 系统对一键登录页面的样式有默认限制,开发者无法直接修改原生页面的样式。
- uni-app 的样式未正确适配 iOS 系统。
2. 解决方案
- 检查 uni-app 样式:
- 确保你的 uni-app 页面样式在 iOS 上正常显示,尤其是布局和字体大小。
- 使用
rpx
或px
单位时,确保在不同设备上适配良好。
- 使用原生配置:
- iOS 一键登录页面的样式是由系统控制的,开发者无法直接修改。但可以通过以下方式间接调整:
- 在
ASAuthorizationController
的配置中,设置preferredAuthorizationProvider
或preferredAuthorizationButtonType
来调整按钮类型。 - 通过
ASAuthorizationAppleIDButton
自定义按钮样式(仅限于按钮类型,如.signIn
、.continue
等)。
- 在
- iOS 一键登录页面的样式是由系统控制的,开发者无法直接修改。但可以通过以下方式间接调整:
- 隐藏原生页面:
- 如果原生页面样式无法满足需求,可以考虑隐藏原生页面,使用自定义的 UI 界面,然后通过
uni.login
或其他方式实现一键登录功能。
- 如果原生页面样式无法满足需求,可以考虑隐藏原生页面,使用自定义的 UI 界面,然后通过
- 适配 iOS 系统版本:
- 不同 iOS 版本对一键登录页面的样式可能有差异,确保在目标 iOS 版本上测试。
3. 代码示例
- 如果你使用的是 uni-app 的
uni.login
方法,可以参考以下代码:uni.login({ provider: 'apple', success: function (res) { console.log('登录成功', res); }, fail: function (err) { console.log('登录失败', err); } });
- 如果你需要自定义 UI,可以隐藏原生页面,使用自定义按钮触发登录:
<template> <view> <button @click="handleAppleLogin">Apple 登录</button> </view> </template> <script> export default { methods: { handleAppleLogin() { uni.login({ provider: 'apple', success: function (res) { console.log('登录成功', res); }, fail: function (err) { console.log('登录失败', err); } }); } } } </script>