Я хочу отменить второй контроллер представления с помощью UIBarButtonItem
, но я просто не понимаю код правильно. Пожалуйста помоги.
Viewcontroller.h
#import <UIKit/UIKit.h>
#import "SecondViewController.h"
@interface ViewController : UIViewController <SecondViewControllerDelegate>
@end
Viewcontroller.m
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.destinationViewController isKindOfClass:[SecondViewController class]]) {
SecondViewController *vc2 = segue.destinationViewController;
vc2.delegate = self;
}
}
-(void)dismissViewController
{
NSLog(@"dismissed");
[self dismissViewControllerAnimated:YES completion:nil];
}
@end
Secondviewcontroller.h
#import <UIKit/UIKit.h>
@protocol SecondViewControllerDelegate <NSObject>
- (void) dismissViewController;
@end
@interface SecondViewController : UIViewController
@property (weak, nonatomic) id <SecondViewControllerDelegate> delegate;
- (IBAction)backBarButtonItemPressed:(UIBarButtonItem *)sender;
@end
BackbarButton означает кнопку отмены
Secondviewcontroller.m
#import "SecondViewController.h"
@interface SecondViewController ()
@end
@implementation SecondViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)backBarButtonItemPressed:(UIBarButtonItem *)sender {
[self.delegate dismissViewController];
}
@end
dismissViewController
реализован в вашем первом ViewController, когда он объявлен в вашемSecondViewController.h
? - person somtingwong   schedule 20.07.2015Exit
на раскадровке. - person somtingwong   schedule 20.07.2015