Xcode 6 - Push segue to same view controller

前端 未结 3 1511
抹茶落季
抹茶落季 2021-01-18 02:04

I have a table view controller and tapping on a cell can trigger one of many different types of push segues based on the type of data in the cell. The identifier of the corr

相关标签:
3条回答
  • 2021-01-18 02:26
    1. Create a Storyboard Reference in IB.
    2. Refer it to the view controller.
    3. Then you can create a segue from the view controller to the reference, which refers to itself.
    0 讨论(0)
  • 2021-01-18 02:26

    Complemeting answer above you can do this in Swift 3 using:

     let vc = ViewController()          
     self.navigationController?.show(vc, sender: nil)
    

    If you are using storyboard you can use this:

    let vc = self.storyboard?.instantiateViewController(withIdentifier: "ViewControllerID") as! YourViewController
    self.navigationController?.show(vc, sender: nil)
    
    0 讨论(0)
  • 2021-01-18 02:33

    As suggested, I don't think a segue will work. Instead you can push a new instance of the same view controller programmatically, which will have the same effect as performing the segue. The difference is that segue delegate methods like prepareForSegue won't be called.

    - (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    {
        MyViewController *vc = [[MyViewController alloc] init];
        [self.navigationController pushViewController:vc animated:YES];
    } 
    
    0 讨论(0)
提交回复
热议问题