You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何区分iPhoneX与iPhone8/7/6?Ti.Platform.displayCaps无法识别屏幕差异

如何在Titanium中准确检测iPhoneX系列机型的屏幕尺寸?

我完全懂你的困扰——当初我第一次用Ti.Platform.displayCaps区分iPhoneX和6/7/8的时候也懵了,毕竟这两类机型的逻辑分辨率都是375x667,所以这个接口返回的参数确实会完全一致。但要区分它们,其实有两个靠谱的解决办法:

方法一:通过设备型号标识符判断

每个iPhone机型都有唯一的型号代码,我们可以通过Ti.Platform.model获取这个代码,然后判断是否属于iPhoneX及后续的全面屏机型。这种方法精准,但需要维护型号列表(新机型发布后要补充更新)。

示例代码:

function isIPhoneXSeries() {
    const model = Ti.Platform.model;
    // 这里列了主流的全面屏iPhone型号,后续新机型可以补充进来
    const xSeriesModels = [
        'iPhone10,1', 'iPhone10,4', // iPhoneX
        'iPhone10,2', 'iPhone10,5', // iPhoneX Plus
        'iPhone11,2', // iPhoneXs
        'iPhone11,4', 'iPhone11,6', // iPhoneXs Max
        'iPhone11,8', // iPhoneXR
        'iPhone12,1', 'iPhone12,3', // iPhone12/12 Pro
        'iPhone12,5', 'iPhone12,8'  // iPhone12 Pro Max/12 mini
    ];
    return xSeriesModels.includes(model);
}

// 使用示例
if (isIPhoneXSeries()) {
    Ti.API.info('当前是iPhoneX系列全面屏机型');
    // 获取物理分辨率
    const { platformWidth, platformHeight } = Ti.Platform.displayCaps;
    Ti.API.info(`物理屏幕尺寸: ${platformWidth}x${platformHeight}`);
} else {
    Ti.API.info('当前是非全面屏机型(比如iPhone6/7/8)');
}

方法二:通过安全区域(Safe Area)判断

iPhoneX及后续全面屏机型因为有刘海,屏幕的安全区域和非全面屏机型差异明显——非全面屏的安全区域顶部通常是20(状态栏高度)、底部是0,而全面屏的顶部是44、底部是34。这种方法不需要维护型号列表,适配性更强。

示例代码:

const mainWindow = Ti.UI.createWindow({
    backgroundColor: '#ffffff'
});

mainWindow.addEventListener('open', () => {
    const safeInsets = mainWindow.safeAreaInsets;
    // 通过顶部和底部的内边距判断是否为全面屏
    if (safeInsets.top > 20 || safeInsets.bottom > 0) {
        Ti.API.info('这是iPhoneX系列全面屏机型');
        // 计算安全区域的实际可用尺寸
        const safeWidth = mainWindow.size.width;
        const safeHeight = mainWindow.size.height - safeInsets.top - safeInsets.bottom;
        Ti.API.info(`安全区域可用尺寸: ${safeWidth}x${safeHeight}`);
    } else {
        Ti.API.info('这是非全面屏机型');
    }
});

mainWindow.open();

小建议

如果你的需求是适配UI布局,优先用安全区域检测的方法,因为它能自动适配未来的新机型;如果只是单纯需要判断机型,型号检测会更直接。

内容的提问来源于stack exchange,提问作者whitebear

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:05:03