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
相关产品推荐
相关产品推荐

