В SwiftUI, какова единица для чисел в квалификациях, таких как frame (...)? - PullRequest
1 голос
/ 09 апреля 2020

Например:

 Text("Hello")
    .frame(width: 100, height: 60)
    .font(Font.custom("Times New", size: 36.0))

Каковы единицы измерения 100 и 60? Если они означают 100 и 60 баллов, как это устройство является независимым? Если не точки, то что это?

Я пытаюсь узнать, как разместить элемент (например, текст или кнопку) в дробной позиции в представлении. Например, как центрировать элемент на 40% высоты вида сверху вниз. Моей первой мыслью было, что они могут быть частями вмещающего представления, но, похоже, это неправильно.

1 Ответ

0 голосов
/ 09 апреля 2020

В points Apple упоминала об этом во многих местах автоматически сгенерированного модуля SwiftUI API: c, как на снимке ниже .frame описания модификатора (см. эллипс будет 200x100 точек. ). Есть аналогичные для .offset и .position.

/// For example, the first ellipse in the following code is laid out in a
/// fixed 200 by 100 frame. Since a shape always occupies the space offered
/// to it, the first ellipse will be 200x100 points. The second ellipse is
/// laid out in a frame with only a fixed height, so it occupies that
/// height, and whatever width is offered to its parent.
///
///     VStack {
///         Ellipse()
///         .fill(Color.purple)
///         .frame(width: 200, height: 100),
///         Ellipse()
///         .fill(Color.blue)
///         .frame(height: 100)
///     }

На самом деле все, что связано с пространством координат, такое же, как в UIKit.

...