CGRect cgRect1 = [[UIScreen mainScreen] applicationFrame];
UISearchBar *mySearchBar = [[UISearchBar alloc]
initWithFrame:CGRectMake(0, 0, cgRect.size.width, 40)];
mySearchBar.autoresizingMask =
UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight ;
UITableView *myTableView = [[UITableView alloc]
initWithFrame:CGRectMake(0, 40, cgRect.size.width, cgRect.size.height-40)];
myTableView.autoresizingMask =
UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
[self.view addSubview:mySearchBar];
[self.view addSubview:myTableView];
Önceki sürümlerde düzgün çalışıyor. Arama çubuğu statusbar
ve gezinme çubuğunun altında görünüyor. tableview
Arama çubuğunun altında görünüyor
Ancak bunu çalıştırdığımda Xcode 5 sdk iOS 7
, arama çubuğu görünmüyor (sanırım durum çubuğunun ve gezinme çubuğunun altına yerleştirildi) ve ayrıca gezinme çubuğu tablo görünümünün üzerinde görünüyor.
iOS 7
Kararlı sürümle düzeltilecek mi?
Yoksa kodlamamın sorunu mu?
Yoksa y (y = statubar height + nav bar height)
değerini ekleyerek mi ele almalıyız iOS 7
?
Yakın zamanda uygulamalarımı iOS 7'de test etmek için Xcode 5 DP'yi indirdim. İlk fark ettiğim ve onayladığım şey, görünümümün sınırlarının her zaman durum çubuğu ve gezinme çubuğunu hesaba katacak şekilde yeniden boyutlandırılmaması oldu.
ViewDidLayoutSubviews'te, görünümün sınırlarını yazdırıyorum:
{{0, 0}, {320, 568}}
Bu, içeriğimin gezinme çubuğunun ve durum çubuğunun altında görünmesine neden oluyor.
Ana ekranın yüksekliğini alarak, durum çubuğunun yüksekliğini ve gezinme çubuğunun yüksekliğini çıkararak yüksekliği kendim hesaba katabileceğimi biliyorum, ancak bu gereksiz ekstra çalışma gibi görünüyor.
Bu sorunu yaşayan başka biri var mı?
GÜNCELLEME:
Bu özel sorun için bir çözüm buldum. Gezinme çubuğunun yarı saydam özelliğini HAYIR olarak ayarlayın:
self.navigationController.navigationBar.translucent = NO;
Bu, görünümün gezinme çubuğunun ve durum çubuğunun altında çerçevelenmesini düzeltir.
Ancak, gezinme çubuğunun yarı saydam olmasını istediğinizde durum için bir düzeltme bulamadım. Örneğin, bir fotoğrafı tam ekran görüntülerken, gezinme çubuğunun yarı saydam olmasını ve altında görüntünün çerçevelenmesini istiyorum. Bu işe yarıyor, ancak gezinme çubuğunu göstermeyi / gizlemeyi değiştirdiğimde, daha da garip sonuçlar aldım. İlk alt görünüm (a UIScrollView
), sınırlarını y başlangıç noktasına her seferinde değiştirir.