Допустимо ли использовать UIScreen.mainScreen(). Bounds.size.height для программного позиционирования элементов?

Является ли использование UIScreen.mainScreen(). Bounds.size.height для размещения или размера элементов в моем макете на основе размера устройства приемлемой вещью? Или такого рода вещи заставят меня забраться на кубическую ферму с бесконечным циклом для разгрома?

1 ответ

Решение

Да, это приемлемо, однако вы не хотите звонить UIScreen.mainScreen() более одного или двух раз, так как это очень медленная функция.

Так что сохраните копию результата в кеше:

var mainScreen: UIScreen

override init() {
  self.mainScreen = UIScreen.mainScreen()
}

func application(application: UIApplication!, didFinishLaunchingWithOptions launchOptions: NSDictionary!) -> Bool {
  let height = self.mainScreen.bounds.size.height;

  // do stuff with height
}
Другие вопросы по тегам