以前一直忽略了基础知识,那么接下来静下心,好好学习基础,今天学习转场知识
由mainView present 新的modalView,再dismis返回到mainView
(一)mainView controller的实现
#import <UIKit/UIKit.h>
@interface UIViewController
@end
#import "ViewController.h"
#import "ModalViewController.h"
@interface ViewController <ModalViewControllerDelegate>
@end
@implementation ViewController
- (IBAction)buttonClicked:(id)sender {
//我是通过storyboard获取的modalviewcontroller
ModalViewController *mvc=[[selfstoryboard] instantiateViewControllerWithIdentifier:@"ModalView"];
mvc.delegate=self;
[self presentViewController:mvcanimated:YEScompletion:nil];
}
-(void)modalViewControllerDidClickedDismissButton:(ModalViewController *)viewController{
//其实这里我有个疑问,既然没用到传入的viewcontroller为甚么还要这样写的,请懂的人回复告诉我^_^
[self dismissViewControllerAnimated:YEScompletion:nil];
}
- (void)viewDidLoad {
[super viewDidLoad];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
@end
(二)modalView的实现
#import <UIKit/UIKit.h>
@class ModalViewController;
@protocol ModalViewControllerDelegate <NSObject>
-(void)modalViewControllerDidClickedDismissButton:(ModalViewController *)viewController;
@end
@interface ModalViewController : UIViewController
@property(nonatomic,weak)id<ModalViewControllerDelegate> delegate;
@end
#import "ModalViewController.h"
#import "ViewController.h"
@interface ModalViewController ()
@end
@implementation ModalViewController
- (IBAction)buttonClicked:(id)sender {
if(_delegate&&[self.delegaterespondsToSelector:@selector(modalViewControllerDidClickedDismissButton:)]){
[self.delegatemodalViewControllerDidClickedDismissButton:self];
}
}
- (void)viewDidLoad {
[super viewDidLoad];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
@end