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

SwiftUI中previewLayout(.sizeThatFits)不生效问题求助

问题分析与解决

你的代码本身是正确的,previewLayout(.sizeThatFits)确实是SwiftUI中让预览仅展示视图自身尺寸的正确方式。没生效可能是以下几个原因:

  • Xcode预览未刷新:点击预览画布右上角的圆形刷新按钮,或者按下Command + R重新构建预览,确保代码修改被应用。
  • 预览显示模式未切换:在预览画布的右上角,找到类似「方框嵌套」的按钮,点击后选择「Size to Fit Content」,取消「Show Device Bezel」的显示模式,这样就会只展示视图本身的尺寸。
  • Xcode缓存问题:如果以上都没用,尝试关闭Xcode重新打开,或者清除Derived Data(Xcode菜单 -> Settings -> Locations -> Derived Data,点击路径旁的箭头打开文件夹后删除)。

确认代码本身没有问题,这里再贴一遍:

struct TimerCardView: View {
    var body: some View {
        Text("Hello, World!")
            .padding()
            .background(.gray)
    }
}

struct TimerCardView_Previews: PreviewProvider {
    static var previews: some View {
        TimerCardView()
            .previewLayout(.sizeThatFits)
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 12:05:19