setBackgroundImage forBarMetrics image size?

非 Y 不嫁゛ 提交于 2019-12-03 09:50:12

问题


I am fairly new in iOS programming and I am creating my first app. I have been trying to use the following code to change the navigation bar background image (this is using the new iOS 5 method):

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"gradientBackgroundPlain.png"] forBarMetrics: UIBarMetricsDefault];

It works fine, but my image is 640 x 88 and it looks too big for the bar. It's like the system doesn't want to scale it, or do I need to do it manually? If I scale the image and create a smaller one it looks pixelated in the retina display.

Any thoughts on this?

Any help or response will be appreciated.

Thanks,

Jorge.-


回答1:


Your image gradientBackgroundPlain.png should be 320x44, and create a second image named gradientBackgroundPlain@2x.png with a size of 640x88. Include the @2x image in your bundle, but continue to specify gradientBackgroundPlain.png for the name of the image. The platform automatically chooses the correct size image for use depending on whether there is a retina display present or not.



来源:https://stackoverflow.com/questions/7520764/setbackgroundimage-forbarmetrics-image-size

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!