2010-12-12 56 views
2
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"An Alert!" 
                delegate:self cancelButtonTitle:@"OK" otherButtonTitles:[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=301349397&mt=8"]];]; 
    [alert show]; 
    [alert release]; 

我試圖顯示一個「確定」按鈕和一個「購買完整版」按鈕的UIAlertView。我怎樣才能使上面的代碼工作?UIAlert查看目標C - 打開應用商店鏈接

感謝

+0

該方法需要按鈕標題,而不是任意代碼。 – Eiko 2010-12-12 14:58:49

回答

7

您需要處理在您指定的UIAlertViewDelegate按一下按鈕。

此外,otherButtonTitles簡直是NSStringva_list一個對象作爲標題使用,可以設置當他們在被竊聽,會發生什麼UIAlertViewDelegatealertView:clickedButtonAtIndex:方法:

- (void) alertView:(UIAlertView *) alertView clickedButtonAtIndex:(NSInteger) index { 
    if(index == 1) { 
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=301349397&mt=8"]]; 
    } 
} 

不要忘記設置delegate

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"An Alert!" 
                  delegate:self 
                cancelButtonTitle:@"OK" 
                otherButtonTitles:@"Buy Full Version"]; 
[alert show]; 
[alert release]; 
+0

只是爲了更清楚** benhowdle89 **如果您不明白,最重要的一步就是您符合'UIAlertViewDelegate'協議。你可以使用''在你的界面中做到這一點。 – 2011-01-01 07:04:17

相關問題