我有一个指定宽度为200的UIButton
。它的autoresizingMask
属性设置为UIViewAutoresizingFlexibleWidth
。一个UIImage
被应用到这个按钮的backgroundImage
属性上。这个UIImage
的定义如下:
[[UIImage imageNamed:@"buttonimage.png"] stretchableImageWithLeftCapWidth:10 topCapHeight:0]
buttonimage.png
的宽度为400px(由于视网膜分辨率是按钮宽度的两倍),代表一个圆角矩形。在竖屏模式下,一切都很好。但是当用户旋转设备并iPhone进入横屏模式时,UIButton
被拉伸了。由于这种行为,图像的左侧圆角边框保持不变(使用stretchableImageWithLeftCapWidth:
),但右侧角也被拉伸了。是否有任何我忘记设置的属性,可确保只有指定像素(例如第十个像素)被拉伸,其他任何东西都保留其尺寸?
提前致谢!
编辑:如果我使用一个更小的图像,在纵向模式下已经被拉伸,那么两个边框似乎都会扩展。
问题已解决! 如果您的图像名为“myImage.png”,并且它是视网膜版本,只需将其命名为“myImage@2x.png”即可。
buttonimage.png
,以及一个名为buttonimage@2x.png
的Retina尺寸的第二个版本。也许这可以解决你的问题。 - Nick Weaver