splash 启动图改 scaleAspectFill 全屏覆盖(与 WebView 同款撤销黑边)
接上一 commit f4307cc(WebView 全屏铺满):splash 启动图也应保持一致策略, 否则启动瞬间(iOS 系统 LaunchScreen)和过渡期(SplashOverlay)仍会显示 左右大黑边,与 WebView 全屏的视觉不连续。 3 处 contentMode 从 scaleAspectFit 改为 scaleAspectFill: - LaunchScreen.storyboard(iOS 启动瞬间) - WebContainerViewController 内 SplashOverlay.imageView - SubGameViewController 内 SplashOverlay.imageView scaleAspectFill 行为:素材 1136×640(16:9)在现代 iPhone 横屏(19.5:9) 上高度撑满,宽度按比例放大→左右轻微裁切。启动图左右是空白底色,logo + 文字主体居中可见,裁切无影响。 等价 daoqi msext LaunchImage Asset Catalog 时代「启动图覆盖整屏」体感。 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.7
parent
f4307ccc80
commit
1247c14351
@@ -630,11 +630,13 @@ private final class SplashOverlay: UIView {
|
||||
super.init(frame: .zero)
|
||||
backgroundColor = .black
|
||||
|
||||
// 与 LaunchScreen.storyboard 同款 contentMode:素材是 1136×640 横屏画面,
|
||||
// 在更宽的现代横屏设备上用 scaleAspectFit 左右补黑边(黑底统一),
|
||||
// 避免 scaleAspectFill 把 logo 上下裁切;同时确保 LaunchScreen → WebContainer
|
||||
// 视觉过渡时不出现裁切方式跳变。
|
||||
imageView.contentMode = .scaleAspectFit
|
||||
// 与 LaunchScreen.storyboard 同款 contentMode = scaleAspectFill:
|
||||
// 素材是 1136×640(16:9)横屏画面,现代 iPhone 横屏约 19.5:9 比 16:9 更宽,
|
||||
// scaleAspectFill 高度撑满 + 宽度按比例放大→左右轻微裁切;启动图左右是空白底色,
|
||||
// logo + 文字主体居中可见,裁切无影响。
|
||||
// 等价 daoqi msext LaunchImage Asset Catalog 时代「启动图覆盖整屏」的体感,
|
||||
// 避免 scaleAspectFit 在现代屏左右补大黑边。
|
||||
imageView.contentMode = .scaleAspectFill
|
||||
imageView.image = UIImage(named: "SplashImage")
|
||||
imageView.clipsToBounds = true
|
||||
imageView.translatesAutoresizingMaskIntoConstraints = false
|
||||
|
||||
Reference in New Issue
Block a user