uni-app uni.showActionSheet在ios展示时按钮列表上多出一个空行

发布于 1周前 作者 h691938207 来自 Uni-App

uni-app uni.showActionSheet在ios展示时按钮列表上多出一个空行

示例代码:

uni.showActionSheet({  
    itemList: ['短信找回', '邮箱找回', '联系客服'],  
    success: (res) => {  
        console.log("res=",res)  
    },  
    fail: function (res) {  
        // console.log(res.errMsg);  
    }  
});

操作步骤:

  • 必现

预期结果:

  • 无空白行

实际结果:

  • 多出一行

bug描述:

在安卓与H5界面查看没有空行,在ios上查看有一个空行

开发环境 版本号 项目创建方式
Windows win10 HBuilderX
iOS iOS 16

image image


3 回复

这是不同的系统视觉风格不同,这个位置是留给 title 使用的。


我没有设置title,也要展示这一块嘛?

在uni-app中使用uni.showActionSheet时,如果在iOS平台上展示按钮列表时多出一个空行,这通常是由于某些特定的配置或代码问题导致的。虽然问题描述中没有具体的代码示例,但我们可以根据常见的实践提供一些可能的解决方案和代码示例。

首先,确保你的uni-app和相关的依赖库(如HBuilderX、uni-ui等)都是最新版本,因为老版本可能存在已知的bug。

其次,检查uni.showActionSheet的调用方式,确保传入的参数格式正确,没有多余的空项。以下是一个标准的uni.showActionSheet调用示例:

uni.showActionSheet({
    itemList: ['选项1', '选项2', '选项3'],
    success: function (res) {
        console.log('选中了第' + (res.tapIndex + 1) + '个按钮');
    },
    fail: function (err) {
        console.error('ActionSheet调用失败', err);
    }
});

在这个示例中,itemList是一个包含三个字符串的数组,分别对应三个按钮的文本。如果itemList中有空字符串或多余的元素,就可能导致iOS上展示时出现空行。

如果确认itemList没有问题,那么可以进一步检查是否有其他代码或样式影响了ActionSheet的展示。例如,全局样式或组件样式可能会影响ActionSheet的布局。

此外,还可以尝试在调用uni.showActionSheet之前和之后打印一些调试信息,以确定是否有其他异步操作或状态变化影响了ActionSheet的渲染。

如果以上方法都没有解决问题,可以考虑在uni-app的社区论坛或GitHub仓库中搜索或报告这个问题,看看是否有其他开发者遇到并解决了相同的问题。

最后,如果问题依然存在,并且你能够确定这是一个uni-app的bug,那么可以尝试使用原生代码或第三方库来替代uni.showActionSheet,以实现相同的功能。不过,这通常是在其他方法都无效时的最后手段。

总之,解决uni.showActionSheet在iOS上展示时多出空行的问题需要仔细检查和调试代码,确保传入的参数正确无误,并且没有其他代码或样式影响了ActionSheet的展示。

回到顶部