可以接受使用 UIScreen.mainScreen().bounds.size.height 以编程方式定位元素吗?

Acceptable to use UIScreen.mainScreen().bounds.size.height to programmatically position elements?

使用 UIScreen.mainScreen().bounds.size.height 根据设备大小在我的布局中定位或调整元素大小是否可以接受?还是这种事情会把我拖到一个无限循环的立方体农场里痛打一顿?

是的,这是可以接受的,但是您不想多次调用 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
}