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

.NET Maui iOS启动画面无法调整尺寸问题求助

.NET Maui iOS启动画面Logo超出屏幕且BaseSize无效的解决方法
  • 先明确iOS启动画面的适配逻辑
    .NET Maui里的BaseSize属性对Android生效,但iOS的启动画面机制不同——它要么依赖LaunchImage.launchimage里的多分辨率图片,要么靠LaunchScreen.storyboard的约束布局,BaseSize无法直接控制iOS端的Logo缩放。

  • 推荐用Storyboard控制iOS启动画面(灵活度更高)

    1. 找到项目里的Platforms/iOS/LaunchScreen.storyboard,右键选择「Open With -> Xcode」打开。
    2. 删除默认的ImageView控件,拖入新的ImageView并绑定你的Logo图片。
    3. 给ImageView添加约束:设置水平/垂直居中,再添加「宽度≤屏幕宽度的80%」「高度≤屏幕高度的80%」的约束,同时保持图片的宽高比,这样Logo就不会超出屏幕范围。
    4. 在storyboard的根View属性里设置背景色,和Android端保持一致。
  • 如果继续用LaunchImage的处理方式

    1. 打开Platforms/iOS/Resources/Images.xcassets/LaunchImage.launchimage,确保为所有iOS设备分辨率提供了对应尺寸的Logo图片(按比例缩小到合适大小后导出),比如:
      • 320x480(非Retina)
      • 750x1334(iPhone 6/7/8)
      • 1125x2436(iPhone X/XS)
      • 828x1792(iPhone XR/11)
    2. iOS会自动匹配对应分辨率的图片,不需要依赖BaseSize属性,所以必须保证每个尺寸的Logo都是预先调整好的合适大小。
  • 检查项目配置避免冲突
    打开项目的.csproj文件,确认MauiSplashScreen配置没有覆盖iOS的自定义设置,示例配置:

    <MauiSplashScreen Include="Resources\Splash\splash.svg" BaseSize="1280x1920" Color="#FFFFFF" />
    

    如果用了Storyboard,建议给iOS平台单独排除这个配置,避免自动生成的LaunchImage干扰:

    <MauiSplashScreen Include="Resources\Splash\splash.svg" BaseSize="1280x1920" Color="#FFFFFF" Condition="$(TargetFramework) != 'net7.0-ios'" />
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 00:22:38