2010-10-14 76 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