ContactsCtrl.h 代码:
#import <UIKit/UIKit.h>
@protocol ContactCtrlDelegate
-(void) DismissContactsCtrl;
@end
@interface ContactsCtrl : UIViewController {
IBOutlet UINavigationBar *ContactNavBar;
id <ContactCtrlDelegate> delegate;
}
@property (nonatomic,assign) id <ContactCtrlDelegate> delegate;
-(IBAction)canCelBtn:(id)sender;
@end
ContactsCtrl.m 代码:
@implementation ContactsCtrl
@synthesize delegate;
- (void)viewDidLoad {
[super viewDidLoad];
ContactNavBar.topItem.prompt = @"选取联系人发送短信";
}
-(IBAction)canCelBtn:(id)sender{
[delegate DismissContactsCtrl];
}
ProtocolDemoCtrl.h
#import <UIKit/UIKit.h>
#import "ContactsCtrl.h"
@interface ProtocolDemoCtrl : UIViewController <ContactCtrlDelegate>
{
ContactsCtrl *contactsView;
}
ProtocolDemoCtrl.m
#import "ProtocolDemoCtrl.h"
#define BARBUTTONADD(SELECTOR) [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:SELECTOR] autorelease];
@implementation ProtocolDemoCtrl
@synthesize contactsView;
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationItem.rightBarButtonItem = BARBUTTONADD(@selector(addContactAction:));
}
- (void)addContactAction:(id)sender{
ContactsCtrl *contactView = [[ContactsCtrl alloc] initWithNibName:@"ContactsCtrl" bundle:nil];
self.contactsView = contactView;
contactsView.delegate = self;
[self presentModalViewController:contactsView animated:YES];
[contactView release];
}
-(void)DismissContactsCtrl{
[contactsView dismissModalViewControllerAnimated:YES];
}