2010-10-14 49 views
15

我想在界面生成器中构建可伸缩图像。这甚至有可能吗?我已经搜索了网页,无法提出适当的解决方案。我会很感激任何答案。建筑可伸缩图像在界面生成器

+0

我不确定你的意思是什么“可拉伸的图像”......? – Micko 2010-10-14 21:31:11

+0

我的意思是我正在寻找一种方法在IB中构建它。但我想这是没有办法的。 * menuBgImage = [[UIImage imageNamed:@“pm_menu_bg.png”] stretchableImageWithLeftCapWidth:10 topCapHeight:5]; – ilteris 2010-10-14 23:25:27

+0

@ilteris你能改变这个帖子的正确答案吗?它正确的答案现在是错误的... – Ross 2012-12-14 09:49:05

回答

6

随着iOS7启发你现在必须使用切片内Xcode5 xcassets目录的选项。然后,当您添加切片图像时,将为您完成拉伸。 (见official documentation

3

不,这是不可能的。

+1

更具体地说:Interface Builder不是一个图像编辑器,所以你不能在其中制作任何图像。无论你想用图像做什么,你都需要用代码来完成。 – 2010-10-14 22:15:18

+11

但这不是关于图像编辑,而是关于构建可伸缩图像,就像你可以在代码中一样。 – 2010-10-15 11:15:44

+0

当为UITextField设置背景图像时,这将特别有用。如果不能在IB中设置leftCapWidth,则不得不使用代码设置背景图像。 – memmons 2011-03-26 16:41:44

22
+0

这是正确的,为我工作。 +1 – 2012-06-14 15:13:24

+2

这似乎不适用于UIBUttons。 – bogardon 2012-07-16 22:00:46

+0

这是怎么回事:我只有一个图像大小10x10,我想用它的大小为20 * 20的UIView?看来唯一的办法是我必须发起一个尽可能大的图像,以缩小它以适应任何更小的框架。这使UI不会被破坏。 – samthui7 2015-07-10 08:17:42

11

如果你的意思是你已经有一个可拉伸的图像,你可以使用IB的拉伸功能。相对于图像的整个宽度和高度,X和Y值似乎是拉伸起点的位置,即0.5将意味着图像中间的点。

对于可伸缩区域的宽度和高度尺寸,相对于图像尺寸,即将其设置为值1/imageWidth将意味着可拉伸区域为1个像素宽。奇怪的是0也适用于蓝色药丸按钮(可能是为了方便的原因?)。

下面,查看模式设置为“缩放填充”。图像是从https://github.com/0xced/UIKit-Artwork-Extractor可拉伸的图像。

enter image description here

对此答案予以http://www.slideshare.net/mystcolor/stretchable-images-in-uiimageview-using-ib-only