当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Swift Never frame(width:height:alignment:)用法及代码示例


实例方法

frame(width:height:alignment:)

将此视图定位在具有指定大小的不可见框架内。

声明

func frame(
    width: CGFloat? = nil,
    height: CGFloat? = nil,
    alignment: Alignment = .center
) -> some View

返回值

对于非 nil 的参数,具有 widthheight 的固定尺寸的视图。

参数

width

结果视图的固定宽度。如果 widthnil ,则生成的视图会采用此视图的大小调整行为。

height

结果视图的固定高度。如果 heightnil ,则生成的视图会采用此视图的大小调整行为。

alignment

此视图在结果框架内的对齐方式。请注意,当框架的大小恰好与该视图的大小匹配时,大多数对齐值没有明显的影响。

详述

使用此方法为视图的宽度、高度或两者指定固定大小。如果您只指定一个维度,则生成的视图会假定此视图在另一个维度中的大小调整行为。

例如,以下代码在固定的 200 x 100 帧中布置了一个椭圆。因为一个形状总是占据布局系统提供给它的空间,所以第一个椭圆是 200x100 点。第二个椭圆布局在一个只有固定高度的框架中,因此它占据该高度,以及布局系统为其父级提供的任何宽度。


VStack {
    Ellipse()
        .fill(Color.purple)
        .frame(width: 200, height: 100)
    Ellipse()
        .fill(Color.blue)
        .frame(height: 100)
}

The alignment 参数指定此视图在框架内的对齐方式。


Text("Hello world!")
    .frame(width: 200, height: 30, alignment: .topLeading)
    .border(Color.gray)

在上面的示例中,文本位于框架的顶部、前导角。如果文本比框架高,它的边界可能会超出框架边界的底部。

可用版本

iOS 13.0+, iPadOS 13.0+, macOS 10.15+, Mac Catalyst 13.0+, tvOS 13.0+, watchOS 6.0+

相关用法


注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 Never frame(width:height:alignment:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。