我设法转到一个空白的视图控制器.我如何继续? [英] I managed to segue to a blank view controller. How do I segue back?

查看:14
本文介绍了我设法转到一个空白的视图控制器.我如何继续?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

//
//  ViewController.swift
//  FunFacts
//
//  Created by Alex Macleod on 4/10/14.
//  Copyright (c) 2014 Alex Macleod. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var funFactLabel: UILabel!
    @IBOutlet weak var funFactButton: UIButton!

    @IBOutlet weak var swipeView: UIView!

//    let swipeRec = UISwipeGestureRecognizer()

    let factBook = FactBook()
    let colorWheel = ColorWheel()

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

//        swipeRec.addTarget(self, action: "swipedView")
//        swipeView.addGestureRecognizer(swipeRec)
//        swipeView.userInteractionEnabled = true
        var swipeRight = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
        swipeRight.direction = UISwipeGestureRecognizerDirection.Right
        self.view.addGestureRecognizer(swipeRight)

        var swipeLeft = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
        swipeLeft.direction = UISwipeGestureRecognizerDirection.Left
        self.view.addGestureRecognizer(swipeLeft)

        var swipeDown = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
        swipeDown.direction = UISwipeGestureRecognizerDirection.Down
        self.view.addGestureRecognizer(swipeDown)

        var swipeUp = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
        swipeUp.direction = UISwipeGestureRecognizerDirection.Up
        self.view.addGestureRecognizer(swipeUp)

        funFactLabel.text = factBook.randomFact()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }



    func respondToSwipeGesture(gesture: UIGestureRecognizer) {

        if let swipeGesture = gesture as? UISwipeGestureRecognizer {

            switch swipeGesture.direction {
            case UISwipeGestureRecognizerDirection.Right:
//                swipedAlertViewRight()
                self.performSegueWithIdentifier("segueSwipeRight", sender: nil)

            case UISwipeGestureRecognizerDirection.Left:
//                swipedAlertViewLeft()
                swipedLeft()

            case UISwipeGestureRecognizerDirection.Down:
                var randomColor = colorWheel.randomColor()
                view.backgroundColor = randomColor
                funFactButton.tintColor = randomColor

                funFactLabel.text = factBook.randomFact()

            case UISwipeGestureRecognizerDirection.Up:
                var randomColor = colorWheel.randomColor()
                view.backgroundColor = randomColor
                funFactButton.tintColor = randomColor

                funFactLabel.text = factBook.randomFact()

            default:
                break
            }
        }
    }

    func swipedLeft() {

        self.performSegueWithIdentifier("segueSwipeLeft", sender: nil)


    }

//    func swipedAlertViewRight(){
//        let tapAlert = UIAlertController(title: "Swiped", message: "You just swiped right", preferredStyle: UIAlertControllerStyle.Alert)
//        tapAlert.addAction(UIAlertAction(title: "OK", style: .Destructive, handler: nil))
//        self.presentViewController(tapAlert, animated: true, completion: nil)
//    }
//    
//    func swipedAlertViewLeft(){
//        let tapAlert = UIAlertController(title: "Swiped", message: "You just swiped left", preferredStyle: UIAlertControllerStyle.Alert)
//        tapAlert.addAction(UIAlertAction(title: "OK", style: .Destructive, handler: nil))
//        self.presentViewController(tapAlert, animated: true, completion: nil)
//    }

    @IBAction func showFunFact() {
        var randomColor = colorWheel.randomColor()
        view.backgroundColor = randomColor
        funFactButton.tintColor = randomColor

        funFactLabel.text = factBook.randomFact()
    }

}

所以我向左滑动它会带我到一个新的 viewViewcontroller,我向右滑动它会带我到另一个空白的视图控制器.我如何告诉这些空白视图控制器转回到主视图控制器?

So I swipe left and I it takes me to a new viewViewcontroller, I swipe right it takes me to another blank view controller. How do I tell these blank view controllers to segue back to the main view controller?

推荐答案

你在那个视图控制器中有导航栏吗?

Do you have a navigation bar in that view controller?

如果你这样做,那么你可以简单地做:

self.navigationController.popViewControllerAnimated(YES)

如果你不这样做,那么你只需要

If you do not, then you simply need to

self.performSegueWithIdentifier("segueSwipeLeft", sender: nil)

(也就是说,对您来自的视图控制器执行转场返回).Segues 不一定是一推即通的东西.

(which is to say, perform a segue back to the view controller you came from). Segues are not necessarily a push and pop thing.

这篇关于我设法转到一个空白的视图控制器.我如何继续?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆