2011-09-30 36 views
13

我使用phoneGap为iPhone创建应用程序,但我确定它不能使用视网膜显示,而不是使用旧的iPhone3分辨率。PhoneGap和Retina显示

当使用phoneGap进行开发时,有什么方法可以为iPhone提供2个版本?这是一个使用视网膜的版本,而另一个版本的旧版设备的分辨率最差。

谢谢

回答

11

是的,但您需要使用CSS媒体查询或JavaScript。

http://troymcilvena.com/post/998277515/jquery-retina是一个jQuery插件,可以自动处理@ 2x图像。

在CSS中,您需要使用以-webkit-min-device-pixel-ratio: 2为目标的媒体查询,用它们的高分辨率版本替换背景图像(并设置background-size)。

+1

你会使用CSS媒体查询。 '@media only screen and(-webkit-min-device-pixel-ratio:2){.ui-page {background:transparent url(path/to/2x.jpg); background-size:Xpx Ypx; }}'这只会改变具有视网膜显示分辨率的设备的元素。 – ceejayoz

+0

感谢伟大的建议 – xus

12

Retina.js用较少的CSS它将解决您的问题。

在另一方面,与PhoneGap的问题(例如:你看不到的页面像它应该,而不是你看到的一切放大):在您的应用程序下面的代码后:

<meta name="viewport" content="width=device-width, user-scalable=no, initial- 
scale=0.5, maximum-scale=0.5" /> 

添加到你的Cordova.plist:

EnableViewportScale : YES 
+2

“另一方面”为我工作。谢谢。 – Jacksonkr

+1

在phonegap或任何其他应用程序中启用用户缩放不是一个非常聪明的举动,事实上目前为止没有任何应用程序似乎允许这样做。 – andreszs

+0

这不适合我。当我这样做时,只会缩放页面的内容,而不是应用程序中使用的实际UI元素,例如状态栏仍处于尴尬的大小 – feupeu