我想在我的MVC导航项目上的条形按钮项目上使用视网膜分辨率图像(40x40p)。当我设置图像时,它看起来像预期的那样在水平方向上拉伸:
注意我还有一个工具栏按钮图像,其视网膜分辨率(60px60p)符合Apple spec的要求。当size参数具有默认值时,它被类似地拉伸,即width = 0,insets; t = 0时,B = 0,L = 0,R = 0:
然而,与导航器项目不同,在工具栏中,我可以从IB成功更改这些值。当我设置width = 30,并且插入t = 5,b = 5,l = 5,r = 5时,工具栏按钮完全显示:
当我使用“尺寸”检查器并尝试设置导航项的条形按钮项的宽度和插入值时,它似乎没有任何效果。齿轮图像看起来仍然很紧张。
我还尝试通过代码在导航项上创建条形按钮项,并在那里设置宽度和插入,它也不起作用:
UIImage *image = [UIImage imageNamed:@"073-Setting@2x.png"];
//--------------------------------------------------------------------
// This line had no effect for a bar button item on a navigation item:
image = [image resizableImageWithCapInsets:UIEdgeInsetsMake(5.0,5.0,5.0,5.0)];
//--------------------------------------------------------------------
UIBarButtonItem *button = [[UIBarButtonItem alloc]
initWithImage:image
style:UIBarButtonItemStylePlain
target:self
action:@selector(handleBack:)];
//--------------------------------------------------------------------
// This line had no effect for a bar button item on a navigation item:
button.width = 30;
//--------------------------------------------------------------------
任何想法我是否做错了,或者这看起来像一个错误。我的部署目标是IOS 5.0。
答案 0 :(得分:0)
我现在明白这个问题背后的原因。我不知道我需要在应用程序包中包含普通和高分辨率(@ 2x)图像。我天真地想要包含高分辨率图像并希望它能够工作。由于我只有iPhone故事板,包括捆绑中每个图像的20和40像素版本修复了我的问题。
因此,无需使用按钮宽度或插入物。此问题现已解决。