Luk*_*uke 2 objective-c image-resizing
UIImage的resizableImageWithCapInsets方法对于带有圆角的标准矩形按钮来说都很好,但我正在尝试创建一个看起来像云的边缘不均匀的按钮.我不能完全理解绘制或创建它的最佳方式,或者当我将它放入应用程序时我将如何拉伸它.我在谈论这样的事情:

云端两侧的气泡不应该伸展,但会创建新的气泡,无论多长/短按钮都需要.例如,如果按钮需要是此图像大小的一半,则只显示2个气泡,但如果它需要更高,超过这里的5个,它会根据需要添加和删除它们. .我设定了最小尺寸,以便至少有一个气泡可以存在,防止问题,如果它太小.如果需要,泡沫本身可以平铺.
从软件开发或平面设计的角度来看,有没有人对如何实现这样的效果有任何建议?
编辑:
我已经尝试使用下面的图像和下面的代码执行此操作,并且它会像这里的图像一样给出结果.图像甚至不是合适的尺寸,更不用说平铺了.我已经确认图像的帧大于此处显示的帧.真的很困惑!
cappedCloud = [[UIImage imageNamed: @"cloud.png"] resizableImageWithCapInsets: UIEdgeInsetsMake(9, 9, 9, 9) resizingMode: UIImageResizingModeTile];
[[cell.cloudButton imageView] setContentMode: UIViewContentModeScaleToFill];
[cell.cloudButton setImage: cappedCloud forState: UIControlStateNormal];
[cell.cloudButton setAlpha: 0.85f];
Run Code Online (Sandbox Code Playgroud)


你可能想看看如何创建一个平铺图像可调整大小使用
- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode
Run Code Online (Sandbox Code Playgroud)
使用稍微修改过的代码版本,我能够将图像放到按钮上,尽管它没有很好地平铺:
UIImage* cappedCloud = [[UIImage imageNamed: @"cloud.png"] resizableImageWithCapInsets: UIEdgeInsetsMake(9, 9, 9, 9) resizingMode: UIImageResizingModeTile];
[cloudButton setBackgroundImage:cappedCloud forState:UIControlStateNormal];
[cloudButton setAlpha: 0.85f];
cloudImage.image = cappedCloud;
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
4765 次 |
| 最近记录: |