2014-04-28 33 views
5

İçerisinde, aşağıdaki storyboardda gösterildiği gibi UITabBarController'un ilk sekmesi olarak ayarlanmış bir UIViewController (kırmızı) var. Bu görünüm denetleyicisi bir konteyner görünümü denetleyicisidir ve , contentView (kırmızı görünüm denetleyicisinin içindeki beyaz dikdörtgen) içine yükler.Bir kapsayıcı görünüm denetleyicisinin içine yerleştirilmiş bir UINavigationController bir UITabBarController

Storyboard

Bu iç navigasyon kontrolörü yüklenmesi için benim kodudur kırmızı görünümü denetleyicisi en contentView: Bu açıkça eser kuruyorum gerektiği gibi görünüm denetleyici çevreleme hakkında bildiğim kadarıyla

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    // instantiate navigation controller 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
    UINavigationController *navigationVC = [storyboard instantiateViewControllerWithIdentifier:@"N"]; 

    // place navigation controller inside content view 
    [self addChildViewController:navigationVC]; 
    navigationVC.view.frame = self.containerView.bounds; 
    [self.containerView addSubview:navigationVC.view]; 
    [navigationVC didMoveToParentViewController:self]; 
} 

Gezinme denetleyicisi için çerçeve. Ancak, tableView numaralı belgede, içeriğin yüksekliğini aşacak kadar hücre olduğunda, aşağı kaydırdığımda tableView'un sonunda her zaman bir çubuk vardır. Farkı görebilmek için tableView'un backgroundColor numaralı telefonu turuncu veile beyaz arasına ayarladım. Ben tableView sonunda o turuncu boşluğu kurtulmak nasıl

Gap at the end of the tableView

?

(Not: Ben autolayout kullanmayanve ben her ikisi için çalışan bir çözüm gerek - iOS7 ve iOS6.)

+0

Tableview arka plan rengini ayarlamak kullanabilirsiniz iOS 6 üzerinde çalışan bir yanıt arıyor ancak iOS 7'de ve yukarıda biliyorum nil olarak, o zaman sorun budur. –

+0

'tableView''ün rengi önemli değil. Orada olmaması gereken boşluk ya da "ekstra sıra". – Mischa

+1

Çocuğun VC'sinin (gezinme denetleyicisi) üst sekme çubuğuna saygılı olduğunu düşünüyorum. – damirstuhec

cevap

0

Eğer Table View Controller - Root arasında -(void)viewDidLoad yılında self.edgesForExtendedLayout = UIRectEdgeAll; ayarı denediniz mi?

Not: yalnızca iOS 7

+0

iOS 6 için de çalışan bir soruna ihtiyacım var (sorumu güncelledim). Ancak önerilerinizi denedim ve iOS 7'de çalışmadı. – Mischa

1

Ben de

self.extendedLayoutIncludesOpaqueBars = YES;