带有左+右大写和中间图案的 UIButton
Posted
技术标签:
【中文标题】带有左+右大写和中间图案的 UIButton【英文标题】:UIButton with left+right caps and a middle pattern 【发布时间】:2012-08-06 08:07:49 【问题描述】:如何创建一个UIButton
,其背景图像由以下人员组成:
-
一个固定的左帽
一个固定的右帽
许多中间图像一个接一个地放置以填满所有可用空间
像下面的例子一样?
编辑:我没有意识到在中心没有 N 个重复的图像,而只有一个拉伸的图像。查看接受的答案。
【问题讨论】:
中间图像是否像您的示例一样遵循固定模式?例如。 2 像素绿色和 2 像素白色? 嗨!不,大写和中间的图片都附上了,没有空格。 我在答案中添加了reference guide link。您可以指定可调整大小的中心部分是平铺还是拉伸。 【参考方案1】:据我所知,这是不可能的。你可以做的是拉伸一张图片,但你不能添加n张中间图片。
在两者之间添加可拉伸图像的代码是
//Create an image - Where UIEdgeInsets is in top left bottom right
UIImage* buttonImage = [[UIImage imageNamed:@"button.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 16, 0, 16)];
// Create a custom buttom
UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom];
myButton.frame = CGRectMake(0, 0, 100, buttonImage.size.height);
[myButton setBackgroundImage:buttonImage forState:UIControlStateNormal];
[myButton setTitle:@"Button" forState:UIControlStateNormal];
//Add it to view - if it is a view controller self.view
[self addView:myButton];
来自苹果的UIImage Class Reference:
"resizableImageWithCapInsets:
您可以使用此方法向图像添加大写插图或更改图像的现有大写插图。 [...] 在缩放或调整图像大小的过程中,被帽子覆盖的区域不会被缩放或调整大小。取而代之的是,每个方向上没有被帽覆盖的像素区域被平铺,从左到右和从上到下,以调整图像的大小。”[强调] em>
您可以在http://mobiledevelopertips.com/user-interface/ios-5-uiimage-and-resizableimagewithcapinsets.html了解更多信息
【讨论】:
正是我需要的!感谢您的回答!以上是关于带有左+右大写和中间图案的 UIButton的主要内容,如果未能解决你的问题,请参考以下文章