Benim hızlı uygulamasında bir düğmeyle bir UIViewController var. Bu düğme UIViewController numarası 2'yi açar ve orada kullanıcının başka bir düğmesi vardır., Swift'de iki uiViewControllers'ı aynı anda atmanın bir yolu var mı?
self.dismissViewControllerAnimated(false, completion: nil)
ve ona sayesinde UIViewController numarası 3 kaybolur olabilir ve kullanıcının gördüğü UIViewController sayı 2: kullanıcı bunu bastığında - o kodu çağırır - o Orada da bir düğme ve kullanıcı bunu bastığında UIViewController numarasını 3. açılır. Benim sorum şu: UIViewController 2 numaranı da reddetmenin bir yolu var mı? Böylece kullanıcı 3 numaradan 1 numaraya kadar sorunsuz bir şekilde geri dönebilir mi? Kullanıcı bastığında
class YourFullRequest: UIViewController{
var delegateRequest:HandleYourFullRequest?
@IBAction func exitbuttonaction(sender: AnyObject) {
self.dismissViewControllerAnimated(true, completion: nil)
delegateRequest?.hideContainer()
}
}
Ama bu çözüm ile: Şimdilik
Ben bir işlev oluşturulan ve protokol yoluyla diyoruz:
UIViewController sayı 2:
protocol HandleYourFullRequest: class {
func hideContainer()
}
class FullRequest: UIViewController, HandleYourFullRequest{
func hideContainer(){
self.dismissViewControllerAnimated(false, completion: nil)
}
@IBAction func exitbuttonaction(sender: AnyObject) {
self.performSegueWithIdentifier("temporarySegue", sender: self)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if (segue.identifier == "temporarySegue"){
if let fullRequestDetails = segue.destinationViewController as? YourFullRequest
{
fullRequestDetails.delegateRequest = self
}
}
}
}
UIViewController sayı 3 düğmesi - UIViewController numarası 3 kaybolur ve UIViewController 2 numarası bir saniye görünür ve sonra kaybolur. 2 numarayı kullanıcıya göstermeden çıkarmanın ve direkt olarak 1 numaraya yönlendirmenin bir yolu var mı?
"self.navigationController.viewControllers" öğesinin ilk öğesine nasıl başvurabilirim? Ben popToViewController (self.navigationController.viewControllers.first: UIViewController, animasyonlu: Bool) 'denedim ama benim durumumda bazı hatalara neden olur :( – user3766930
@ user3766930 Görünüm denetleyicisini açmadan ve kendi içeriğini yazdırabilmeniz için bir kesme noktası ayarlayın. navigationController.viewControllers dizisi Burada görmek için yararlı olun.Kontrol denetleyici hiyerarşiniz tanımladığınız şey olmayabilir. – Tim