我想对UISegmentedControl使用自定义背景图片,例如“查找我的 friend ”。它们可调整大小的图像如下所示:

source http://feedzr.com/source.png
source http://feedzr.com/inwork.png

如何在Core Graphics中创建复杂的阴影效果?

编辑

最下面的图像就是上面的样子,当在真实的UISegmentedControl中使用皮革背景时,可调整大小的图像中有很多效果,例如:
底部光泽,顶部内部阴影和从顶部到底部的局部渐变。

我只是看不到此图像中的方式和效果。我不问如何使用UIEdgeInsets。

最佳答案

这些只是2张图片。一个有阴影的一个没有……

您必须使用CapInsets创建这些图像以使其可调整大小

例如

UIImage *buttonImage = [[UIImage imageNamed:@"yourImage"]
   resizableImageWithCapInsets:UIEdgeInsetsMake(1, 11, 0, 20)];

要了解UIEdgeInsets如何工作,请阅读:
How does UIEdgeInsetsMake work?

或在Apple文档中:
UIEdgeInsetsMake
Creates an edge inset for a button or view.

UIEdgeInsets UIEdgeInsetsMake (
   CGFloat top,
   CGFloat left,
   CGFloat bottom,
   CGFloat right
);
Parameters
top
The inset at the top of an object.
left
The inset on the left of an object
bottom
The inset on the bottom of an object.
right
The inset on the right of an object.
Return Value
An inset for a button or view

Discussion
An inset is a margin around the drawing rectangle where each side (left, right, top, and bottom) can have a different value.

Availability
Available in iOS 2.0 and later.
See Also

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIKitFunctionReference/Reference/reference.html

关于ios - 如何在这样的代码中绘制可调整大小的UIImage?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12282362/

10-10 03:33