2011-11-09 27 views
10

i, gizli durum çubuğunda başlamak bir açılış ekranı göstermek ve (içerik yüklenir gösterilmesini zaman geri durum çubuğunu geçiş istediğiniz bir iPhone uygulaması var [[UIApplication sharedApplication] setStatusBarHidden:NO animated:YES] kullanarak, internet üzerinden yüklenmesi gerektiğinden zaman alır. Durum çubuğunun gösterilip gizlendikten sonra içerik görünümümün yeniden boyutlandırılmasını ve konumlandırılmasını istiyorum. Uygulamamın herhangi bir cihaz oryantasyonunda çalışabilmesini istiyorum (belki de Apple yönergelerinde belirtilen şekilde üst nokta yönelimi hariç).boyutlandırma içeriği gizli/gösterilen

Sorunum uygulama olması gerektiği gibi görünmesini alamayan olduğunu. Otorotasyondan sonra 20pt'lik bir boşluk gösterir veya belirdiğinde durum çubuğunun altında gizlenir.

Bunun için uygun yol ne olmalıdır?

Ben henüz test etmedim, ama aynı sorunlar gelen çağrı çubukla ortaya sanırım.

DÜZENLEME:

daha iyi sorunun ne anlatmaya çalışacağım. Uygulama başladığında, durum çubuğu gizlenir ve pencere koordinat sisteminde pencerenin görünen alanının üst köşesi pencerenin koordinat sisteminde 0,0'dır. Sonra durum çubuğunda kayarım. Bu pencere boyutunu değiştirmez, dolayısıyla 0,0 noktası artık durum çubuğunun arkasında gizlidir. Pencerenin görünen alanının sol üst köşesi 0,20'dir ve görüşümü bu koordinatlara taşımalıyım (ve düzgün bir şekilde tekrar 320 * 460 olarak değiştirmem gerekiyor). Ancak, cihazı döndürürsem, orijinal konumuna geri dönersek, görünür pencere alanının sol üst koordinatı tekrar 0,0 olur ve pencere şu anda 320 * 480 boyutundadır.

Bir geçici çözüm, bir bayrağın okunmasını sağlamaktır. Telefonun daha önce döndürülüp yükseltilmediğini, ancak başka bir konuma döndüğümde ve sonra geri döndüğümde pencere koordinatlarının değişmemesinin bir yolu yok mu?

+2

Var adıdır Görünümünüze otomatikleştirici maskeler mi ayarladınız? – titaniumdecoy

cevap

1

Evet, aynı sorunlar çağrı çubuğu ile gelip. Alternatif olarak, ses kayıt çubuğu aynı şeyi yapar. (Daha kolay ve belki sesli not uygulaması kaydını başlatmak için daha ucuzdur ve ekstra çubuğun nasıl işlediğini test etmek için uygulamanıza geri dönebilirsiniz.)

Otomatik yeniden boyutlandırma maskelerini görünümde ayarlamak genellikle sizin için bir şeyleri ayarlar. Eğer XIB'nin içinde UI bina varsa görüşleriniz düzgün boyutu çubuğu değişiklikleri veya cihaz veya simülatör döndükçe değiştirene kadar

ayarlarda oynayabilirsiniz.

içerdiği subviews üzerinde maske ayarları çok önemli olduğunu unutmayın.

0

@ walt'ın cevabı gerçekten işe yarıyor mu? Bu bayrağı her görüntü denetleyicinin görünüm özelliğine eklemeyi denedim, ancak herhangi bir şans olmadan, sth eksik miyim?

self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 

This solution

sorunumu çözdü fakat çirkin görünüyor. Görünüm denetleyicisi görünüm çerçevesini el ile yeniden boyutlandırmalıyım.

0

Bu konu

Sadece Bir Görünümü düzeltmek olmalıdır:

[self.view setFrame: [self.view bounds]]; 

[self.view setFrame: [self.view bounds]]; 
[self.theScroller setFrame: [self.view bounds]]; 

içinde bir kaydırma görünümünde olan bir görünümü "theScroller benim Scrollview

İlgili konular