Does anyone know what the new Exit icon is used for when editing storyboards using Xcode 4.5?

后端 未结 3 1015
无人及你
无人及你 2020-12-02 06:37

Right-clicking the Exit icon yields an empty window. Can\'t Ctrl-drag a connection to any IB elements or corresponding source files. Docs give no love. Doesn\'t appear in ni

相关标签:
3条回答
  • 2020-12-02 07:14

    I had a hard time following the accepted answer so here is more detail.

    Given the photo below on view controller C you can "exit" back to any view controller in the segue path.

    enter image description here

    ViewController A you can write:

    - (IBAction)done:(UIStoryboardSegue *)segue {
        // Optional place to read data from closing controller
    }
    

    ViewController B you can write:

    - (IBAction)back:(UIStoryboardSegue *)segue {
        // Optional place to read data from closing controller
    }
    

    ViewController C you control drag from "back" button to the green exit option and select back: ViewController C you control drag from "done" button to the green exit option and select done: enter image description here

    Note: Even though the methods are on other view controllers they show up for the ViewController C's exit. Control dragging and selecting a method defines which ViewController to unwind to.

    0 讨论(0)
  • 2020-12-02 07:25

    There's a lot of information in the WWDC video "Session 407 - Adopting Storyboards in your App."

    Say you have two view controllers linked by a segue. Implement the following exit action on the first view controller:

    - (IBAction)done:(UIStoryboardSegue *)segue {
        NSLog(@"Popping back to this view controller!");
        // reset UI elements etc here
    }
    

    Then, on Storyboard scene for the second view controller, Ctrl-drag from a UI element, such as a button, to the exit icon at the bottom of this view controller. The done: action you added to the code of the first controller will appear as an option. Now, activating the button you Ctrl-dragged to the exit icon will pop back to the first view controller and maintain its original state (ie UI elements such as text input supposedly still intact).

    0 讨论(0)
  • 2020-12-02 07:26

    As addition to Eric answer here is how it works with swift:

    The function you add to the destination controller looks like:

    @IBAction func backFromOtherController(segue: UIStoryboardSegue) {
        NSLog("I'm back from other controller!")
    }
    
    0 讨论(0)
提交回复
热议问题