uialertview 中的图像...?

Posted

技术标签:

【中文标题】uialertview 中的图像...?【英文标题】:Image in uialertview...? 【发布时间】:2013-01-07 11:35:02 【问题描述】:

我知道这是一个常见问题,即如何在 uiAlertView 中显示另一个控件而不是消息。 我有一个应用程序在我的视图中有图像,当用户点击该图像时,我想放大它。 所以,我可以选择在 uialertview 中使用相同的图像和放大的图像弹出它。 当我也尝试时,但没有正确的解决方案。

下面是我的代码

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NULL message:@"\n\n\n\n\n\n\n\n\n\n\n\n\n" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
UIImage *image = [UIImage imageNamed:@"GM00132002062125.png"];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
CGFloat imageHeight = 250;
CGFloat imageWidth = imageHeight * image.size.width / image.size.height;
imageView.frame = CGRectMake(floor((284 - imageWidth)/2), 47, imageWidth, imageHeight);
[alert addSubview:imageView];
[alert show];

这里我要给\n\n留言,

如果你能看到它重叠就OK 如果我在消息中给出更多\n

对此没有特别的解决方案

谢谢

【问题讨论】:

你不能缩小图像的大小吗? 实际上在视图中图像尺寸很小,当用户点击该图像时,它必须放大。如果我减小弹出图像的大小,就没有用了。 请检查这个问题***.com/questions/2323557/image-in-uialertview 感谢 Midhun MP,因为您可以检查我已经编写了相同的代码。相反,我的代码在图像大小方面更具体。这篇文章已经消失了。没用。 已尝试更改您的图像视图框架的yheight 【参考方案1】:

使用下面的代码...

    UIImageView *imageView = [[UIImageView alloc] initWithFrame:setYourFrameHere];

    NSString *imgPath = [[NSString alloc] initWithString:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"GM00132002062125.png"]];
    UIImage *yourImage = [[UIImage alloc] initWithContentsOfFile:imgPath];
    [imageView setImage:yourImage];
    [yourImage release];
    [imgPath release];

    [alert addSubview:imageView];
    [imageView release];

    [alert show];
    [alert release];

更新:

为了在我们的视图中居中图像或一些自定义视图,我使用这种类型的波纹管代码..试试这个...

myCustomView.frame = CGRectMake(floorf(backgroundView.size.width - customView.size.width / 2.0f), 0.0, myCustomView.size.widht, myCustomView.size.height);

【讨论】:

感谢 Paras Joshi 的回复,但我认为您必须检查我的代码。它和你的差不多。相反,我只是放了适当的尺寸规格。 尝试用我上面的代码将图像居中可能是它的工作,你只需使用 imageView 在 alertview 中居中只需更改一些代码.. 它会工作.. 谢谢,CGFloat imageHeight = 250; CGFloat imageWidth = imageHeight * image.size.width / image.size.height; imageView.frame = CGRectMake(floor((284 - imageWidth)/2), 47, imageWidth, imageHeight);我也在做同样的事情。 @Deer 为什么你给这个\n超过时间??获取图像中心对吗?? 这不是图像中心,而是为 uialertview 使空间高度明智。我不给 9 \n。这只是一个例子。我的意思不仅仅是这个图像。实际上我的图像大小可以超过这个。在这种情况下,我们的这段代码将不起作用。这就是为什么我想要这个 Paras 的一些适当的解决方案。

以上是关于uialertview 中的图像...?的主要内容,如果未能解决你的问题,请参考以下文章

applicationWillTerminate 问题

如何将图像添加到 UIAlertView? [复制]

显示蜂窝数据已关闭警报

UIAlertView 按钮框架都是0?

试图将 UILabel 放在自定义 UIAlertView 中的 UIButton 之上

UIAlertView 与 UIActivityIndi​​cator 有点矛盾