iOS中控制器切换分为:modal(模态窗口遮挡)、push(uinavigationcontroller)、uitabbarcontroller和自定义控制器切换。
modal代码方式,耦合度较高,控制器相互依赖,所以使用modal的时候用storyboard。
一.通过代码方式
@protocol LoginControllerViewControllerDelegate;
@interface LoginControllerViewController : UIViewController
@property (weak, nonatomic) IBOutlet UITextField *userName;
//代理
@property(weak,nonatomic)id<LoginControllerViewControllerDelegate> delegate;
- (IBAction)login;
- (IBAction)back:(id)sender;
@end
//协议
@protocol LoginControllerViewControllerDelegate <NSObject>
-(void)loginSuccess:(NSString *)userName;
@end
实现
- (IBAction)login {
//cooljuneViewController *view=(cooljuneViewController *)self.presentingViewController;
//view.userName.text=self.userName.text;
//通过代理传入参数
[self.delegate loginSuccess:self.userName.text];
[self dismissViewControllerAnimated:YES completion:^{
NSLog(@"自动隐藏");
}];
}
- (IBAction)back:(id)sender {
[self dismissViewControllerAnimated:YES completion:^{
NSLog(@"自动隐藏");
}]