我有一個NavigationController,並且我想要從屏幕頂部製作一個視圖,並且坐在上方navigationBar上方。我從xib初始化視圖控制器,當我將它添加爲[self.view addSubview:myView];
時,它完美地工作,但它位於導航欄下方。當我嘗試將其添加爲[self.navigationController.view addSubview:myView];
時,它會按照預期將其放置在navigationBar的頂部,但視圖不會顯示放置在xib中的任何子視圖。我不明白爲什麼會發生這種情況,一直試圖解決這個問題好幾個小時。當作爲NavigationController的視圖的子視圖添加時,iOS視圖不顯示它的任何子視圖
UPDATE 從廈門國際銀行我的自定義視圖是搭配定製的視圖控制器類,我在裏面加入以下代碼:
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
NSLog(@"!!! %i", [self.view.subviews count]);
}
如果我添加到MyView的它self.view打印1(有實際上是1子視圖),但是當我將它添加爲self.navigationController.view -viewDidAppear
甚至沒有調用。但它確實出現在沒有子視圖的屏幕上。現在我更加困惑。
不,仍然沒有子視圖。 – NKorotkov
你確定,你添加完全需要的視圖?可能它沒有子視圖?嘗試檢查myView.subviews.count – mityaika07
我敢肯定,因爲當我將此行更改爲'[self.view addSubview:myView];'子視圖按預期顯示。我真的很奇怪。 – NKorotkov