Retina图形与非视网膜图形管理

时间:2012-08-30 11:35:47

标签: objective-c xcode ios-simulator retina-display

我即将推出一款新应用,并希望提高图片的质量。在我的情况下,图形是徽标和自定义按钮。我不知道这是否影响了Core Plot,但这也是该软件包的一部分。

有很多关于此的帖子,但仍有一些我不完全理解的事情。

我正在阅读“amattn”中的这句话:

It's trivial:

1.Only include @2x images in your project.
2.Make sure those images have the @2x suffix. 
The system will automatically downscale for non-retina devices.

The only exception is if you are doing manual, low level Core Graphics drawing. 
You need to adjust the scale if so. 99.9% though, you don't have to worry about this.

从这篇文章:Automatic resizing for 'non-retina' image versions

我的问题是:

1. Should i do the testing on retina simulator only, as if i place a @2 grapic on 
non-retina it will be too big? ...or is there an other way of doing it?

2. Should i always use a ImageView or is it OK to drag the image on the screen, 
this is the logo i am talking about?

3. What about custom made buttons with images, how should i do with those?

4. What is the normal process to manage the different screen sizes, do people 
add images for all displays or using this type of process?

1 个答案:

答案 0 :(得分:1)

  
      
  1. 我应该只在视网膜模拟器上进行测试,就好像我在非视网膜上放置一个@ 2 grapic它会太大了吗? ......还是有其他的   这样做的方式?
  2.   

您测试的模拟器并不重要,因为只要您的非视网膜和视网膜图形被正确命名(图像和图像@ 2x),就会自动显示正确的图像。

  
      
  1. 我应该总是使用ImageView还是可以在屏幕上拖动图像,这是我正在谈论的徽标?
  2.   

当您将项目中的图像直接拖动到界面构建器中的视图上时,您实际上看不到它会发生但它已自动创建并且图像视图包含您放入的图像。

  
      
  1. 如何使用图片自定义按钮,我该怎么做?
  2.   
[myButton setImage:[UIImage imageNamed:@"myFileName"]]; 

如上面的代码所示,当您引用UI元素应使用的图像时,应始终使用非视网膜名称。那就是如果iOS检测到设备是视网膜,它可以自动使用@ 2x版本。

  
      
  1. 管理不同屏幕尺寸的常规流程是什么,人们是否为所有显示器添加图像或使用此类流程?
  2.   

是的,包括多种图像分辨率的常见做法,iPhone应用程序(不确定iPad)需要同时包含视网膜和非视网膜图像。但无论要求如何,您都应该支持两种设备分辨率,以保证客户满意!