web-dev-qa-db-ja.com

UIAlertViewボタンアクション?

このコードで、アプリストアでアプリケーションを評価するように求めるUIAlertViewがあります。

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Rate on the Appstore!" 
                                                message:@"" 
                                               delegate:self 
                                      cancelButtonTitle:@"Later" 
                                      otherButtonTitles:@"OK", nil];
[alert show];
[alert release];

しかし、AppStoreのアプリに移動するアクションを[OK]ボタンに追加する方法がわかりません。

9

これはどう?

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
    if (buttonIndex != [alertView cancelButtonIndex]) {
        NSLog(@"Launching the store");
        //replace appname with any specific name you want
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms://iTunes.com/apps/appname"]];
    } 
}
24
CodaFi

次のようなものが必要です。

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
    if (buttonIndex == 0) {
        NSLog(@"Clicked button index 0");
        // Add the action here
    } else {
        NSLog(@"Clicked button index other than 0");
        // Add another action here
    }
}

NSLogは、ボタンを押すとコンソールに表示され、何かをデバッグ/テストするときに役立ちます。

次に、必要なアクションについて、次のように記述します。

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"url_to_app_store"]];
9
Domness

in Swift:このコードブロックを使用してアラートメッセージを表示します。

let alert = UIAlertController(title: "Alert", message: "This is an alert message", preferredStyle: UIAlertControllerStyle.Alert)

let action = UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: {(action:UIAlertAction) in print("This is in alert block")
})

alert.addAction(action)
self.presentViewController(alert, animated: true, completion: nil)
0
Mr. Tann