【发布时间】:2013-03-22 07:53:19
【问题描述】:
我正在为 IOS 5.0 作为 minTarget 工作
我有一个 UIImageView 我想为其分配一个可调整大小的图像,这样图像就不会从角落拉伸。
我尝试将 UIImageView 的内容模式设置为 UIViewContentModeScaleToFill。但图像显示为平铺。
这是代码
UIImage *bgImage = [[UIImage imageNamed:@"ImgViewBg"] resizableImageWithCapInsets:UIEdgeInsetsMake(2, 2, 2, 2)];
imgView.contentMode = UIViewContentModeScaleToFill;
imgView.image = bgImage;
我正在寻找与 android 中的 9patch 图像相同的效果
这是我正在尝试的图像
我刚刚又看了 resizeableImageWithCapInsets 的文档。它说它平铺了不在上限下的区域。我认为这是导致平铺图案的原因。有什么解决方法可以让我拥有 9Patch 样式的图像吗??
编辑
根据 Apple Docs
IOS 5.0 以下适用于我的要求。
[[UIImage imageNamed:@"textViewBg"] stretchableImageWithLeftCapWidth:6 topCapHeight:6];
(如 Dipen Panchasara 所述)
IOS6.0 及更高版本适用于我的需求。
- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode
IOS 5.0 及更高版本(我需要)
- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets
上面的功能在我的情况下不起作用,因为它平铺的图像不在上限之下。
所以对于 IOS 5.0 到 IOS 6.0,我找不到任何能解决我要求的东西。
现在我开始使用 Dipen Panchasara 解决方案,我希望它保持稳定
【问题讨论】: