2016-04-11 2 views
1

Я пытаюсь получить доступ к view.frame.size.height и view.frame.size.width вне функции, и я не могу. Есть ли обходной путь для этого?Как я могу получить размеры представления вне функции?

Я попытался сделать это, но это не работы-

var screenBound = UIScreen.mainScreen().bounds 
    var screenSize = screenBound.size 
    var screenWidth = screenSize.width 
    var screenHeight = screenSize.height 

Xcode дал мне ошибки - член Instance 'screenbound' не может быть использован по типу 'ViewController'

I может использовать только self.view.frame.size.height/.width внутри созданной функции. Но я хочу использовать его вне функции. Заранее спасибо.

+1

Скорее всего, дубликат [Как инициализировать свойства, зависящие друг от друга] (http://stackoverflow.com/questions/25854300/how-to-initialize-properties-that-depend-on-each-other) , –

+0

@MartinR Я не совсем понял. Не могли бы вы опубликовать некоторый код о том, как я могу использовать его в этом случае? Спасибо :) – user5981057

+0

@MartinR Я понял, что я не могу использовать переменную вне функции, потому что она self.variable не инициализирована, поэтому вы можете использовать lazy ключевое слово, поскольку новая созданная переменная используется позже. Но в этом случае мне трудно создать ленивую переменную, потому что self.view не инициализируется. – user5981057

ответ

1

Я не уверен, что именно вы пытаетесь сделать, но не могли бы вы поставить это на глобальном уровне (т.е. выше «класс ViewController ...»):

let screenWidth = UIScreen.mainScreen().bounds.size.width let screenHeight = UIScreen.mainScreen().bounds.size.height

Затем вы можете получить доступ к ним в любом месте вашего проекта.

+0

Большое спасибо! Это сработало! – user5981057

+0

Рад слышать! Если бы вы могли отметить это как ответ, это помогло бы большему количеству людей в будущем. –