「サインアップ」、「寄付」、「キャンセル」の 3 つのボタンがあるアラート ビューを作成しました。サインアップまたは寄付をクリックすると、特定の Web サイトでサファリが開きます。ただし、アプリを開いていずれかのボタンをクリックすると、サファリは開かず、何も実行せず、ボタンはキャンセル ボタンの異なるバージョンであるかのように機能します。これが私のコードです:
BlahBlah.h では:
@interface BlahBlah: UIViewController <UITextFieldDelegate, UIAlertViewDelegate> {
}
@end
BlahBlah.m では:
#define donate_tag 0
#import "BlahBlah.h"
@implementation BlahBlah
...
- (void) donate {
UIAlertView *alert2 = [[UIAlertView alloc] initWithTitle:@"Donate"
message:@"Function doesn't work yet :(" delegate:nil cancelButtonTitle:@"Cancel"
otherButtonTitles:@"Sign Up",@"Donate",nil];
alert2.tag = donate_tag;
[alert2 show];
[alert2 release];
}
...
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
if(alertView.tag == donate_tag && buttonIndex == 1){
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.google.com"]];
}
else if(alertView.tag == donate_tag && buttonIndex == 2){
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.yahoo.com"]];
}
}
...
@end