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

时间:2015-02-10 08:10:52

标签: ios objective-c uiimage uialertview nsurl

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

我已经获得了图片网址: 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没有显示任何图像,如下图所示。 enter image description here

我错过了什么吗?

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

2 个答案:

答案 0 :(得分:1)

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

另请查看

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

答案 1 :(得分:0)

不,你不能这样做。使用UIView编写自定义控件,模仿UIAlertView的行为。

一些建议:

  1. 切勿在{{1​​}}上使用addSubView
  2. UIAlertView已弃用UIAlertView
  3. 参考UIAlertView Class Reference

    1)

      

    UIAlertView类旨在按原样使用,但不是   支持子类化。此类的视图层次结构是私有的   不得修改。

    2)

      

    重要提示:UIAlertView在iOS 8中已弃用。(请注意   UIAlertViewDelegate也已弃用。)创建和管理警报   在iOS 8及更高版本中,改为使用UIAlertController   UIAlertControllerStyleAlert的preferredStyle。