2015-07-23 21 views
7

Ben kendi görüntüsü durum çubuğunu kapsayacak şekilde çalışıyorum ve böyle bir şey yaparak benim görünümü için çerçeveyi calculcate bunu (ayrıca sonra rotasyon):iOS9 kapsayan durum çubuğu - yanlış pozisyon

UIScreen *screen = [UIScreen mainScreen]; 
CGRect statusBarFrame = [UIApplication sharedApplication].statusBarFrame; 
-iOS7 için

CGRect frame = [screen.coordinateSpace convertRect:statusBarFrame toCoordinateSpace:screen.fixedCoordinateSpace]; 
[self setFrame:frame]; 

:

[self setFrame:statusBarFrame]; 
iOS8 + için

(nedeniyle yana iOS8 UIScreen orientantion bağlıdır)

Sadece iOS8 ve altında çalışıyor ancak Xcode 7 beta 4 ve iOS 9 SDK ile uygulamamı oluştururken, uygulama yatay veya üstdüzeyken başlatılırken bir sorun var (uygulama dikey olarak başlıyorsa iyi çalışıyor).

ie. Upsidedown iken uygulamayı başlattığım zaman, durum çubuğunu kapsamalıdır özel uiwindow her zaman ekranın alt tarafında sona erecek, herhangi bir fikir yanlış olabilir?

+0

Bunu anladınız mı? – rushelmet

+0

rushelmet, henüz değil :( – Artrmz

+0

Son yanıtı gözden geçirin: http://stackoverflow.com/questions/33244580/view-above-the-status-bar/33244933#33244933 – rushelmet

cevap

0

Daha fazla bilgi için en iyi çözüm, durum çubuğunu gizlemek yeterli olacaktır. Hala animasyon amaçlı olarak veya başka bir nedenden dolayı "durum çubuğu" istiyorsanız, bu senaryoda tipik çözüm UIScreen

üzerinde

- (UIView *)snapshotViewAfterScreenUpdates:(BOOL)afterUpdates arayarak taklit ve ne olursa olsun arka plan olarak döndürülen görünümünü kullanmaktır sunmakta olduğunuz görünüm/pencere. IOS 9'dan itibaren, belirttiğiniz belirli davranışı almanıza izin verecek herkese açık bir yöntem yoktur.

İlgili konular