参考:iPhone stretchableImageWithLeftCapWidth only makes "D"s
我有一个大小为13x30
的按钮的图像。我想拉伸图像以填充大小为45x30
的按钮。
以下是我正在使用的代码:
UIImage *shareImage = [[UIImage imageNamed:@"btn_red"] stretchableImageWithLeftCapWidth:16.0f topCapHeight:0.0];
UIButton *shareButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 46.0f, 30.0f)];
etc....
我得到的图像很完整。我正在获得真实大小的图像,背后有一些较浅的阴影,如图像所示。
为什么会这样?我根本不明白。我的可伸缩逻辑是正确的,我已经按照每个人在教程/帖子中说的内容。
如果我得到一些帮助,我会非常感激。
答案 0 :(得分:0)
我认为你的左帽宽度错了?如果您的第一张图片只有13像素宽,那么左边的图片怎么能是16?
左上角是原始图像上保持未拉伸的宽度
答案 1 :(得分:0)
跟进保罗的回答,
你想确保留出一些空间用于拉伸,所以使用Photoshop或类似的东西放大,并决定什么左边像素是绝对必需的。
请参阅:http://idevrecipes.com/2010/12/08/stretchable-images-and-buttons/
答案 2 :(得分:0)
LeftCapWidth应为6.5;
UIImage *shareImage = [[UIImage imageNamed:@"btn_red"] stretchableImageWithLeftCapWidth:6.5 topCapHeight:0.0];
UIButton *shareButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 46.0f, 30.0f)];