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

iOS模拟器运行时视图自动意外隐藏问题求助

问题排查与解决

相关截图

界面截图

界面截图

属性检查器

视图属性

尺寸检查器

尺寸检查器

视图调试器

视图调试器

问题描述

编辑器与模拟器所选设备型号一致,但运行应用时,显示结果的视图会意外隐藏,且所有设备尺寸下都存在该问题。已检查约束,无异常、无错误警告。

推测是Stack View的FillProportionally属性导致视图高度被设为0,苹果官方文档说明:

FillProportionally,根据视图的固有尺寸按比例分配空间

怀疑结果视图固有尺寸为0,但未找到解决办法。

原因分析与解决方案

你的推测完全正确,问题根源就是结果视图没有有效固有尺寸——FillProportionally布局逻辑是基于子视图的固有尺寸比例分配空间,当子视图固有尺寸为0时,就会被压缩至完全不可见。

可以通过以下方式解决:

  1. 为结果视图设置固有尺寸
    • 若为自定义View,重写intrinsicContentSize返回默认尺寸:
      override var intrinsicContentSize: CGSize {
          return CGSize(width: UIView.noIntrinsicMetric, height: 120) // 按需调整高度值
      }
      
    • 若为系统控件(如UILabel、UIImageView),确保控件有内容(文本、图片),系统会自动生成对应固有尺寸。
  2. 修改Stack View的布局分布
    • 将Stack View的Distribution属性从FillProportionally切换为Fill、EqualSpacing或EqualCentering,这些布局模式不依赖子视图固有尺寸,能直接为子视图分配空间。
  3. 添加明确的高度约束
    • 给结果视图添加固定高度约束,或设置高度的最小/最大值约束,强制Stack View为其保留显示空间。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 05:33:22