當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。