#import <UIKit/UIKit.h> @interface CustomAlertViewController : UIViewController { id delegateID; NSString *cancelFun; NSString *certainFun; } @property (assign, nonatomic) id delegateID; @property (retain, nonatomic) NSString *cancelFun; @property (retain, nonatomic) NSString *certainFun; @property (retain, nonatomic) IBOutlet UIView *innerView; - (id)initAlert:(id)delegate cancelFun:(NSString*)cancel certainFun:(NSString *)certain; -(IBAction)CancelClicked:(id)sender; -(IBAction)OkClicked:(id)sender; @end
2.在.m中(別忘了@synthesize及nil,release)app
加入方法:
atom
- (id)initAlert:(id)delegate cancelFun:(NSString*)cancel certainFun:(NSString *)certain { self = [super initWithNibName:@"CustomAlertViewController" bundle:nil]; if (self) { // Custom initialization delegateID = delegate; cancelFun = cancel; certainFun = certain; } return self; } - (IBAction)CancelClicked:(id)sender { [delegateID performSelector:NSSelectorFromString(cancelFun)]; } - (IBAction)OkClicked:(id)sender { [delegateID performSelector:NSSelectorFromString(certainFun)]; }
3.調用的時候
spa
-(void)showCustomAlertView { if (customAlertViewController ==nil) { customAlertViewController = [[CustomAlertViewController alloc]initAlert:self cancelFun:@"cancelFun" certainFun:@"CertainFun"]; } [self.view addSubview:customAlertViewController.view]; } -(void)cancelFun { // [self hiddenCustomAlertView]; } -(void)CertainFun { //[self hiddenCustomAlertView]; //for (UIView *view in self.view.subviews) { // [view removeFromSuperview]; // } // [[AppDelegate app].rootViewController hiddenFirstHomeView]; // [[AppDelegate app].rootViewController showLoginView]; }
這樣customviewController出現後,點擊取消會 調用-(void)cancelFun方法,肯定會調用-(void)CertainFun方法;.net