First, review the Apple docs for the UIAlertView Class Reference.
The important point to know is that you must use a delegate method to execute any custom actions from the AlertView other than the default "dismiss" or "cancel" methods.
Your current viewController in which the AlertView is created can be the delegate. To implement that just assign it to be the delegate in the init method when you create the alertView:
Code:
alert_view = [[UIAlertView alloc]initWithTitle:@"Title"
message:@"message"
delegate:(UIViewController *)self
cancelButtonTitle:@"title"
otherButtonTitles:@"title"];
The reference to "self" as the delegate refers to the viewController from which this code is being executed.
In the delegate viewController you then must add the delegate protocol declaration in the viewController .h file.
Code:
@interface myViewController : UIViewController <UIAlertViewDelegate>{
Then in the viewController .m file you must include the alertView delegate method:
Code:
-(void)alertView:(UIAlertView *)alert_view didDismissWithButtonIndex:(NSInteger)button_index
In this method you can define custom actions to execute after acknowledging or dismissing the alertView. The key to this method is that you refer to specific dismiss buttons by index #.
The buttons are indexed by integers starting at 0. If you have 3 buttons then the 3rd button is index 2.
You use this one method for several different alertViews since the alertView and button pressed is passed to the method when dismissed.
Then in the dismiss method include your button specific actions as conditional statements:
Code:
if(button_index == 0){
...;
}
if(button_index ==1){
...;
}
If I left anything out you should be able to find it in the documentation.