页面跳转
界面切换,视图的变换过程
1.从前一个界面到下一个界面
A push B, 此时触发顺序:A--viewWillDisappear B--viewWillAppear A--viewDidDisappear B--viewDidAppear
2.从后一个界面到前一个界面
B pop A (B--viewWillDisappear A--viewWillAppear B--viewDidDisappear A--viewDidAppear)
1. push
// 通过导行控制 push 到下一个界面(视图控制器自带的 navigationController 属性能够获取到管理当前视图控制器的导行控制器, 然后 再通过导行控制器进行push )
[self.navigationController pushViewController:XX animated:YES];
2. 模态
[self presentModalViewController:XX animated:YES];
3. pop回去
[self.navigationController popViewControllerAnimated:YES];
//返回根视图界面
[self.navigationController popToRootViewControllerAnimated:YES];
//获取当前导行制图控制器管理的所有控制器(数组进行管理, 可以用下标 跳转到指定视图控制器)
[self.navigationController popToViewController:self.navigationController.viewControllers[1] animated:YES];
//跳转第二种方式
// [self performSegueWithIdentifier:@"reuse" sender:nil];
3.直接将按钮与下一个界面建桥即可, 不用写任何代码
//但是, 该方法有一个弊端, 因为这样的方法为单个按钮单独定制的跳转, 如果一个页面有多个按钮都要跳转到这一界面, 还要增加很多桥, 这样, 关系非常冗余, 不如第二种方法, (视图控制器与视图控制器之间剑桥连接, 让多个button 点击方法 实现跳转)