için Basit bir UINavigationController sahibim. Init yönteminde bir alt görünüm olarak bir UITableView yaratıyorum ve ekliyorum.Şekil initWithFrame: self.view.frame 20 piksel (durum çubuğu) sorunu bir kez ve tüm
- (id)init {
self = [super init];
if (self) {
NSLog(@"%@", NSStringFromCGRect(self.view.frame)); // {{0, 20}, {320, 460}}
tableView = [[UITableView alloc] initWithFrame:self.view.frame];
[self.view addSubview:tableView];
}
return self;
}
Yeni projelerle çalışırken her zaman aynı can sıkıcı sorunla karşılaştığımı buluyorum. Eklenen tanıtımlar, gezinme çubuğunun 20 pikselin altında olur.
Neden self.view.frame için {{0, 20}, {320, 460}} ile bitti? CGRect çerçevesini zorlamak istemiyorum, bunu görüntü denetleyicinin çerçevesine göre ayarlamayı tercih ediyorum, bu yüzden dinamik çerçeve değişiklikleri (tethering, telefon görüşmesi, vb. Durum çubuğunun daha uzun olduğu yer) ile ilgili sorunları yaşamayacağım. .
Güncelleme: Ayrıca, çerçeve için 460 yükseklik aldığımı fark ettim. Bu da mantıklı değil. Benim durumumda, aslında bir sekme çubuğu var, bu yüzden yükseklik, durum çubuğunun eksi uinavigasyon çubuğu ve eksi sekme çubuğu yükseklikleri değil mi? UIView
Teşekkür
çünkü durum çubuğu 20 piksel yükseklik – SAKrisT