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

SwiftUI中如何实现Image与Text组件同行显示?

SwiftUI 解决Image与Text同行重叠问题

问题根源在于你使用了ZStack容器——它的作用是将子视图层叠叠加,自然会导致Text和Image重叠。要让两者在同一行横向排列,只需要把ZStack替换成HStack(横向线性布局容器)即可。

修改后的代码如下:

struct RestaurantOverlay: View {
    var amountOfStars: Int
    var body: some View {
        // 把ZStack换成HStack
        HStack(spacing: 6) { // spacing参数可调整两元素间距,按需修改
            Text("Burger")
                .font(.system(size: 17.5))
                .foregroundColor(.white)
                .fontWeight(.heavy)
            
            Image(systemName: "star.fill")
                .font(.system(size: 13))
                .foregroundColor(.white)
                .fontWeight(.medium)
        }
        .padding(10)
        .background(Color.black)
        .opacity(0.8)
        .cornerRadius(10.0)
    }
}

额外说明:如果需要更灵活的布局(比如让某一元素靠边对齐),可以给HStack添加alignment参数,或者结合Spacer()使用。比如想让Text靠左、Image靠右,只需在两者之间插入Spacer()即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 23:40:33