簡體   English   中英

推送視圖控制器未在iOS 7上推送

[英]Push view controller is not pushing on ios 7

我有3個VC(視圖控制器)(VC1,VC2,VC3)。

在VC1,我使用了以下代碼:

self.navViewController = [[UINavigationController alloc] initWithRootViewController:viewController];
self.navViewController.view.frame = CGRectMake(self.view.frame.size.width - viewController.view.frame.size.width, 
                                               viewController.view.frame.origin.y, 
                                               viewController.view.frame.size.width, 
                                               viewController.view.frame.size.height);
[self.navigationController addChildViewController:self.navViewController];
[self.navigationController.view addSubview:self.navViewController.view];
[self.navViewController didMoveToParentViewController:self.navigationController];

顯示了VC2,然后在VC2上,我使用了代碼將導航控制器推送到VC​​3

VC3 *vc3 = [[VC3 alloc] initWithNibName:@"VC3" bundle:nil];
[vc3.view updateConstraintsIfNeeded];
[self.navigationController pushViewController:vc3 animated:YES];

當前,當我添加代碼段[vc3.view updateConstraintsIfNeeded]; 我看到更改的導航和內容視圖沒有更改並顯示。 它只是顯示了VC2的內容視圖。

在我的項目中,我正在使用自動布局。 我嘗試在項目上刪除自動布局,效果很好。 當我添加自動布局時,它會出錯。

它只發生在iOS 7上,iOS 8正常運行。

請幫我解決錯誤。 非常感謝!

問題是您將VC2顯示在推送視圖控制器的頂部。 將一個視圖控制器作為導航控制器的子級的原因是什么? 相反,請同時擁有VC2和導航控制器的祖先,或者將VC2放置在視圖層次結構中的其他位置,而不是放置在導航控制器view頂部,該view包含整個導航控制器(包括推式堆棧中包含的控制器)視圖層次結構。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM