2016-03-29 62 views
0

NSPopover yapıyorum ve görüntü denetleyicileri ile bir alt görüntü denetleyicisi kullanarak bir kayan animasyonla görüntü denetleyicileri arasında geçiş yapabilirim. Ben bunu eklemeden önce iyi çalışır, popover otomatik olarak benim görünümün boyutuna yeniden boyutlandırıldı, ancak şimdi, popover sabit bir boyutta sıkışmış.NSPopover animasyonlu içerikViewController pop-up büyüklüğünü değiştir ve değiştir

popover oluşturmak için kod:

self.homeVC = PopoverViewController(nibName: "PopoverViewController", bundle: nil) 
    self.loginVC = SignInViewController(nibName: "SignInViewController", bundle: nil) 

    self.containerView.view.wantsLayer = true 

    self.containerView.view.frame = self.homeVC!.view.bounds 

    self.containerView.addChildViewController(self.homeVC!) 

    self.containerView.view.addSubview(self.homeVC!.view) 

    popover.contentViewController = self.containerView 

görünüm denetleyicileri geçiş için kod: Ben popover otomatik boyuta yeniden boyutlandırmak yapabileceği zaten

self.loginVC!.view.frame = self.homeVC!.view.bounds 
    self.containerView.addChildViewController(self.loginVC!) 

    let transition: NSViewControllerTransitionOptions = .SlideLeft 

    self.containerView.transitionFromViewController(self.homeVC!, toViewController: self.loginVC!, options: transition, completionHandler: { finished in 
     self.homeVC!.view.removeFromSuperview() 
     self.homeVC!.removeFromParentViewController() 
     self.containerView.view.bounds = self.loginVC!.view.bounds 
    }) 

var mı onu gerekiyordu geçişten sonra olmak mı?

Şimdiden teşekkürler.

+0

Popover görünümünün çerçevesini konteynır görünümünün çiftliğine ayarlarsanız ne olur? – rocky

+0

@rocky Sadly, sorun değil. Popover konteyner görünümünün boyutuna uyuyor, ancak kapsayıcı görünümünün çocuğunun boyutuna (kısıtlamalarla ayarlanmış) dikkat etmiyor. Problemin kısıtlamalar olduğunu ve düzeltildiğini anladım. Şimdi popletin büyüklüğünü kısıtlamalarla ayarladım. Yine de fikir için teşekkürler. – AppleBetas

cevap

0

Çerçeveyi açıkça ayarlamak yerine, kapsayıcı görünümünün çocuğun boyutuyla eşleşmesini sağlamak için kısıtlamaları ayarlayarak onu düzeltemedim.

+2

tam olarak neyin değiştiğine dair ayrıntılı bir cevap verebilir misiniz? – eeschimosu

+0

PopoverViewController alt görünümünün boyutunu değiştirin, otomatik olarak yeniden boyutlandırılacaktır .. –