在iOS中的UIAlertController中添加自定义视图

时间:2015-06-03 10:25:22

标签: ios custom-view uialertcontroller uialertaction

我使用下面的代码显示了Tweet,Facebook和取消按钮的操作表。

- (void)shareApp:(id)sender {
    NSString *strCancel = NSLocalizedString(@"Cancel", nil);
    NSString *strTweet = NSLocalizedString(@"Tweet", nil);
    NSString *strFacebook = NSLocalizedString(@"Facebook", nil);

    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Share your app", nil) message:nil preferredStyle:UIAlertControllerStyleActionSheet];

    // Create the actions.
    UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:strCancel style:UIAlertActionStyleCancel
                                                         handler:^(UIAlertAction *action) {
                                            NSLog(@"Cancel action occured");
                                }];

    UIAlertAction *tweetAction = [UIAlertAction actionWithTitle:strTweet style:UIAlertActionStyleDefault
                                                        handler:^(UIAlertAction *action) {
                                                            NSLog(@"Tweet action here");
                                                        }];

    UIAlertAction *facebookAction = [UIAlertAction actionWithTitle:strFacebook style:UIAlertActionStyleDefault
                                                        handler:^(UIAlertAction *action) {
                                                            NSLog(@"Facebook action here");
                                                        }];

    // Add the actions.
    [alertController addAction:cancelAction];
    [alertController addAction:tweetAction];
    [alertController addAction:facebookAction];

    [self presentViewController:alertController animated:YES completion:nil];
}

Screenshot

现在,我想在操作表的每个元素上添加自定义视图,即logo + tweet。

Desired screenshot

如何实施?

1 个答案:

答案 0 :(得分:3)

我通过你的代码得到了解决方案。请参考下面的代码

# Simplified version of the code used
outputStream = socket.socket(socketfamily, sockettype, protocol)
outputStream.connect(socketaddress)
outputStream.settimeout(5)
outputStream.sendall(message)
....
outputStream.shutdown(socket.SHUT_WR)
outputStream.close()