UIAlertView中的图像:视网膜和非视网膜iPhone中的CGRectMake

时间:2012-08-17 17:54:15

标签: iphone uialertview cgrectmake

我正在开发一个应用程序,我在UIAlertView中显示一些图标,以便解释它们的用法。 我是这样做的:

UIAlertView *helpAlert = [[UIAlertView alloc] initWithTitle:@"The button:\n\n  is used to do... \n\n  " message:@"" delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];

    UIImageView *imageView1 = [[UIImageView alloc] initWithFrame:CGRectMake(20, 55, 40, 40)]; 
    NSString *path1 = [[NSString alloc] initWithString:[[[NSBundle mainBundle] resourcePath]   stringByAppendingPathComponent:@"bottle_w_40.png"]];
    UIImage *bkgImg1 = [[UIImage alloc] initWithContentsOfFile:path1];
    [imageView1 setImage:bkgImg1];
    [bkgImg1 release];
    [path1 release];

    [helpAlert addSubview:imageView1];
    [imageView1 release];
    [helpAlert show];
    [helpAlert release];

效果很好,在模拟器和我的iphone 3gs(没有视网膜显示器)。我的家伙是关于视网膜的行为。图像位置会有所不同吗?我是否需要为CGRectMake使用一些scaleFactor或者UIAlertview中的位置是绝对的?

2 个答案:

答案 0 :(得分:1)

在应用程序资源中,提供名为“bottle_w_40 @ 2x”的图像,这对于视网膜显示来说是最令人担忧的。矩形不需要调整大小。

答案 1 :(得分:1)

据我所知,该代码适用于视网膜显示器。

您可以在模拟器中测试它。转到模拟器的硬件>设备菜单,然后选择“iPhone(Retina)”或“iPad(Retina)”。