导航栏背景图片太大
问题描述:
我想在我的设置方法中使用setBackgroundImage: forBarMetrics:
更改导航栏的背景图片。导航栏背景图片太大
问题是图像不适合在杆上,看起来像图像的至少两倍的原始尺寸拉伸...
的图像尺寸为320×44 ...
我试图重新命名图像@ 2倍,但它并没有改变任何事情......
我想这个图像分配给navigationItem.titleView
但视图得到了切断的边缘...
没有任何人有提示如何设置图像,以便它不会被拉伸?
UINavigationBar *naviBar = [self.navigationController navigationBar];
UIImage *img = [UIImage imageNamed:@"[email protected]"];
[naviBar setBackgroundImage:img forBarMetrics:UIBarMetricsDefault];
在此先感谢
答
好吧,我终于明白了!
问题:导航栏拍摄的图像像素为320 x 44像素,因为iPhone中的每个点都是2像素,如果您使用的是导航栏的点,则您使用的图像看起来会像拉伸4倍(2x ,x坐标为2x)。
要解决它,只需将文件扩展名@ 2x添加到您的图像文件(例如[email protected])。在拖入Xcode之前,您必须重命名它!如果您尝试在Xcode中重命名,它将不起作用。
ps。不要包括@ 2X在你的代码,只是文件名像这样 [UIImage的imageNamed:@“yourImgName.png”]
希望这有助于
请参阅您的代码 – Deepesh 2012-07-20 10:04:33
添加代码,请大家看看谢谢! – 2012-07-20 10:20:56
不!不要将图像重命名为“@ 2x”。永远不要这样做,你将永远使用图像的非视网膜版本的UI元素。如果设备具有视网膜屏幕,“@ 2x”适用于iOS自动使用,而不是低分辨率图像。 – 2012-07-20 10:43:02