2016-03-18 25 views
3

Merhaba, UIView Öğesinin genişliğini almaya çalışıyorum.IOS swift View.frame.width yanlış

Bir Iphone 4s Emulator üzerinde test ettim.

Ana ekranda UIView Öğesi var. Wich ekranın solunda ve sağında 20 ofset var. i

UIScreen.mainScreen().bounds.width = 320 

ama

viewGame.frame.width = 240 

diyoruz ama viewGame genişliği yüzden gerçek çerçeve genişliği nasıl elde edersiniz 260 olmalıdır

?

Düzenleme: i rahatsız için Arkadan görünüş

+0

Görünümü kenar boşluklarıyla hizalıyor musunuz? Bu farkı açıklayabilir. –

cevap

7

üzgün hizalamak için otomatik düzen kullanıyorum. Sadece bu soruyu gönderdikten sonra in this post

çözümünü buldum. Sorun şu ki, işlevlerimi görünüm denetleyicisindeki viewDidLoad() işlevinde çağırıyordum. Fakat bu zamanda, düzenler henüz düzenlenmiş değil. Artık işlevlerimi viewDidAppear() işlevinde çağırıyorum ve her şey düzgün çalışıyor

+1

ViewDidLayoutSubviews de bir göz atın :) –

+0

Ben yaptım, ama nedense birden çok kez denir, bu yüzden ben her zaman sadece bir kez denir umudum viewDidAppear() yapıştırılmış bir kez –

+0

Evet, eğer değiştiriyorsanız fonksiyonunuzdaki görünümde, ** viewDidLayoutSubviews() ** 'in tekrar çağrılmasını beklerim. Çözdüğüne sevindim! –