Создать CGRect коротким путем — swift

Когда я создал CGRect в Objective-c и не хотел устанавливать каждое значение, я создал таким образом:

 (CGRect){CGPointMake(0, 0), [UIScreen mainScreen].bounds.size}

Знаете ли вы аналогичный способ в Swift?


person xarly    schedule 28.08.2014    source источник


Ответы (3)


Swift добавляет в CGRect специальный инициализатор, который делает именно это.

let rect = CGRect(
    origin: CGPoint(x: 0, y: 0),
    size: UIScreen.mainScreen().bounds.size
)

Для Swift 3.0 вы бы сделали это...

let rect = CGRect(
    origin: CGPoint(x: 0, y: 0),
    size: UIScreen.main.bounds.size
)
person Mick MacCallum    schedule 28.08.2014

Другой способ для 0,0

let rect = CGRect(
    origin: CGPointZero,
    size: UIScreen.main.bounds.size
)
person xarly    schedule 11.04.2017
comment
Swift 3 и выше: используйте CGPoint.zero - person Vladimir Grigorov; 26.04.2018

  • Свифт5

let rect = UIScreen.main.bounds

person AllenPong    schedule 30.04.2019