2016-03-20 14 views
0

UIPageViewController'daki sayfalardan biri olarak bir UIViewController görüntülüyorum.UIViewController görünümü görüntüleme

Bu viewController (VC1) boyutunda (320, 568). Aranan bu şekilde

- (void)displayContentController:(UIViewController *)content { 
    [self addChildViewController:content]; 
    content.view.frame = self.view.frame; 
    [self.view addSubview:content.view]; 
    [content didMoveToParentViewController:self]; 
} 

: Ne o zaman yapmak bu yöntemi kullanarak başka VC gösterilecek olan

NewViewController *newVC = [self.storyboard instantiateViewControllerWithIdentifier:@"NewViewController"]; 
[self displayContentController:newVC]; 

nedeni yerine modally onu iterek veya sunma yapıyorum ben gerektiğinden, olduğu diğer UIViewController (VC1) ile üst üste gelmek için, VC1 gibi UIPageViewController gibi kayarken normalde bulanık olur. newVC yılında

viewDidLoad ilk başta (320, 568) bir self.view.frame bildiriyor, ancak daha sonra bir süre sonra aniden (320, 571) bir self.view.frame bildiriyor - ziyade 568.

I yüksekliğinde daha autolayout kullanıyorum.

Neden ve nasıl çözebilirim? yöntem çerçevelerinde, denetleyici görünümlerinin gerçek boyutunu size sağlamayan yöntem çerçeveleri

cevap

0

. Doğru boyutları elde etmek için ViewController

+0

'un viewdidlayoutsubviews() yönteminde kontrol etmeyi deneyin. Ama ben bir sorunum var iken, 'newVC' alt düzen kılavuzuna kısıtlanmış bir tableView var, ancak görüntülendiğinde klavyenin yüksekliğine eşdeğer olan sabit değerin sabitliğini artırıyor, hala klavyenin altında tablonun biraz görünmesini sağlıyor Bu beni 'newVC' çok uzun olduğunu düşünüyorum. VC'nin alt kısmı gerçek ekranın altında – Erik