“静态方法'buildBlock'要求'CGRect'符合'View'”

问题描述

我的代码如下:

import SwiftUI

struct MainView: View {
    var body: some View {
        CGRect(x: 20,y: 20,width: 100,height: 100)
    }
}

但是,我得到了错误

Static method 'buildBlock' requires that 'CGRect' conform to 'View'

如何在SwiftUI中使用CGRect?

解决方法

可能您想要这个

struct MainView: View {
    var body: some View {
        Rectangle()
          .frame(width: 100,height: 100)
    }
}

在SwiftUI中,我们应该仅将视图放置在body中,而不是绘制

注意:根据需要,屏幕上的视图布局有不同的变体,但是我建议避免位置硬编码(例如x:20,y:20),因为它会在不同的设备上产生不同的结果。 / p>