2016-04-11 13 views
1

Bir işlev dışında view.frame.size.height ve view.frame.size.width erişmeye çalışıyorum ve mümkün değilim. Bunun için bir çözüm var mı? 'ViewController'Görünümün boyutlarını işlev dışında nasıl alabilirim?

I türüne kullanılamaz Örnek üyesini 'screenbound' -

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

Xcode bana bir hata verdi

bunu yaparken çalıştı, ancak Işık'ın yaptığı Oluşturulan bir işlev içinde sadece self.view.frame.size.height/.width'u kullanabilir. Ama bunu bir fonksiyonun dışında kullanmak istiyorum. Şimdiden teşekkürler. ("... sınıf ViewController" yani yukarıda)

+1

Muhtemelen bir kopyası [Birbirine bağlı olan özellikler nasıl başlatılır] (http://stackoverflow.com/questions/25854300/how-to-initialize-properties-that-depend-on-each-other) . –

+0

@MartinR Tamamen anlamadım. Bu durumda nasıl kullanabileceğime dair bir kod gönderebilir misiniz? Teşekkürler :) – user5981057

+0

@MartinR Bir işlev dışında bir değişken kullanamayacağımı anladım, çünkü self.variable gerçekten başlatılamıyor ve bu nedenle yeni oluşturulan değişken daha sonra kullanıldıkça tembel anahtar sözcüğünü kullanabilirsiniz. Ancak, bu durumda, self.view başlatılmamış olduğundan tembel değişken oluşturmakta zorluk çekiyorum. – user5981057

cevap

1

Ne yapmaya çalışıyorsun tam olarak emin değilim, ama sadece küresel düzeyde bu koymak olamazdı:

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

Daha sonra projenize her yerden erişebilirsiniz.

+0

Çok teşekkürler! İşe yaradı! – user5981057

+0

Duyduğuma sevindim! Bunu cevaplandı olarak işaretleyebilirseniz, gelecekte daha fazla kişiye yardımcı olur. –

İlgili konular