Swift文本框中如何为文本与背景色之间添加间距?
解决SwiftUI文本框背景覆盖文本的问题
你的问题出在修饰符顺序不合理,且缺少文本与背景之间的内边距,调整代码结构即可解决:
Text(newData3) .foregroundColor(.gray) .padding(15) // 先给文本添加内边距,让文本和背景边框之间留出空隙 .frame(maxWidth: 400, alignment: .leading) // 统一设置宽度,避免重复frame导致布局冲突 .background(Color.yellow) .cornerRadius(30) .padding(10) // 这是文本框与外部视图的间距,可按需保留或调整
关键细节:
- 修饰符顺序是核心:SwiftUI的修饰符按从后往前的逻辑作用于视图,所以必须先给
Text加内边距,再设置背景,这样背景才会包裹带内边距的文本 - 合并重复的
frame设置,避免多次设置宽度引发的布局挤压问题
内容的提问来源于stack exchange,提问作者James Farmer
相关产品推荐
相关产品推荐

