UIAlertView里面有图像和文字

时间:2016-01-11 11:54:20

标签: ios iphone uiimageview uialertview uialertcontroller

我希望UIAlertView的图像位于顶部,图像位于图像下方。

我知道UIAlertView已弃用,但我支持iOS版本7,此版本中未提供UIAlertController

UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
[imageView setImage:[UIImage imageNamed:@"icon.png"]];
[imageView setContentMode:UIViewContentModeScaleAspectFit];
NSString *about = [[NSString alloc] initWithFormat:@"%@\n\n\n\n%@\n%@\n(c) %@ Firm name", imageView, [[self bs] getAppName], [[self bs] getAppYear], [[self bs] getAppVersion]];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:about delegate:self cancelButtonTitle:nil otherButtonTitles:nil];
[alert setValue:imageView forKey:@"accessoryView"];
[alert show];

我如何获得顶部的图像和上面的文字? 或者有人能给我一些好的建议,我可以用更好的方法解决问题吗?

编辑:我也看到了这个页面(Is it possible to show an Image in UIAlertView?),它没有帮助我。我只在文字末尾看到了图标。

1 个答案:

答案 0 :(得分:1)

有几点:

  1. UIAlertView在iOS 8中已弃用。您应该使用UIAlertController代替。
  2. 对于这两者,你不应该混淆视图层次结构。 (我过去在警报视图中添加了视图,然后Apple改变了一些东西而且它破了。糟糕的魔力。)
  3. 我建议使用自定义视图控制器,使其看起来像一个警报视图。以Github上的这个为例:

    Custom AlertView on Github

    (我没有用过它;我刚刚在你发布的帖子中找到它。)