如何在 Objective-C 的 AlertView 中通过 http url 显示图像?

How to show the image via http url in AlertView in Objective-C?

我正在 Objective-C 开发,我想在 AlertView 中通过 http url 显示图像 ?

我已经得到了像 url 这样的图像:http://192.72.1.1/DCIM/100__DSC/SNAP0053.JPG,并将 NSURL 转换为 NSString。但是我无法在 AlertView 中显示图像,它是空的。

将url转换为NSString并显示在AlertView中的代码如下:

NSString *path = [url absoluteString];
NSData * imageData = [[NSData alloc] initWithContentsOfURL: [NSURL URLWithString: path]];
UIImage *Image=[UIImage imageWithData:imageData];

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Image" message:nil delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];

UIImageView *imageView = [[UIImageView alloc] init];

[imageView setImage:Image];

[alert addSubview:imageView];
[alert show];

但是AlertView并没有显示如下图所示的任何图像。

我是不是遗漏了什么?

如何在 Objective-C 的 AlertView 中通过 http url 显示图像?

不,你不能那样做。使用 UIView 编写自定义控件,模仿 UIAlertView.

的行为

一些建议:

  1. 切勿在 UIAlertView 上使用 addSubView
  2. UIAlertView 已弃用 UIAlertController.

引用UIAlertView Class Reference:

1)

The UIAlertView class is intended to be used as-is and does not support subclassing. The view hierarchy for this class is private and must not be modified.

2)

Important: UIAlertView is deprecated in iOS 8. (Note that UIAlertViewDelegate is also deprecated.) To create and manage alerts in iOS 8 and later, instead use UIAlertController with a preferredStyle of UIAlertControllerStyleAlert.

您无法在 AlertView 中添加图像。 在 iOS 7 之前是可能的。 您可以创建自定义 AlertView 并向其添加图像。

另请查看此

https://github.com/wimagguc/ios-custom-alertview