我在界面中有一些图像,里面有边框和一些背景。有点像这样:
我想拉伸它们,保持边界完好无损。该resizableImageWithCapInsets
方法似乎应该有效,但它平铺了图像的内部部分。这不是我想要的。我可以以某种方式使其拉伸图像的内部部分吗?
我在界面中有一些图像,里面有边框和一些背景。有点像这样:
我想拉伸它们,保持边界完好无损。该resizableImageWithCapInsets
方法似乎应该有效,但它平铺了图像的内部部分。这不是我想要的。我可以以某种方式使其拉伸图像的内部部分吗?
使用方法:
- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode
并通过resisizingMode
UIImageResizingModeStretch
我相信他们在 WWDC 2012 会议之一中声明,如果内部区域为 1 像素宽或高,则系统假定它应该被拉伸,否则系统假定它应该平铺。但是,使用这个略有不同的 API,您可以选择指定是拉伸还是平铺。
这应该可行,也许您将插图的值设置错误?
如果您设置错误的值,那么您可能会看到中心左侧部分的平铺:https ://developer.apple.com/library/ios/documentation/uikit/reference/UIImage_Class/Reference/Reference.html #//apple_ref/occ/instm/UIImage/resizableImageWithCapInsets:
请记住,每个插图的值也必须至少为 1。
我们有没有机会看到您如何使用偏移量定义图像?
马特
您可以使用 UIImage 的 resizableImageWithCapInsets 方法
Example-->
Original Image
Output Image
UIImage *im = [[UIImage imageNamed:@"a.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 4, 0, 13)];