uni-app uni.openDialogPage() IOS端无法显示Android正常显示

uni-app uni.openDialogPage() IOS端无法显示Android正常显示

操作步骤:

  • 运行自定义基座在手机上,两台手机分别是IOS和Android.

预期结果:

  • 希望打开APP的时候能使用uni.openDialogPage渲染DOM

实际结果:

  • Android正常显示没有问题。IOS无法显示只有被uni.openDialogPage打开页面的生命周期有执行

bug描述:

  • 使用uniapp-x hbux的版本在4.45。使用uni.openDialogPage这个api在安卓手机能正常显示出来。但是在IOS端手机无法显示DOM. 只能看到onShow的打印日志

相关图片

Image 1 Image 2


更多关于uni-app uni.openDialogPage() IOS端无法显示Android正常显示的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app uni.openDialogPage() IOS端无法显示Android正常显示的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是一个典型的iOS平台兼容性问题。根据描述分析可能的原因和解决方案:

  1. iOS渲染机制差异: iOS对页面渲染有更严格的限制,建议检查以下几点:
  • 确保dialog页面有明确的宽高设置
  • 检查CSS中是否使用了iOS不支持的样式属性
  • 尝试给dialog容器添加position: fixed样式
  1. 生命周期执行顺序: iOS可能在onShow时DOM还未准备好,可以尝试:
onReady() {
    this.$nextTick(() => {
        // 在这里执行显示操作
    })
}
  1. 版本兼容性: 4.45版本可能存在iOS端bug,建议:
  • 升级到最新HBuilderX版本
  • 检查官方更新日志中是否有相关修复
  1. 替代方案: 如果问题持续,可以暂时使用uni-app原生弹窗组件:
uni.showModal({
    title: '提示',
    content: '内容',
    showCancel: false
})
回到顶部