2010-10-14 13 views
15

Sto cercando di creare un'immagine estensibile nel generatore di interfacce. È possibile? Ho cercato sul Web e non riesco a trovare una soluzione adeguata. Gradirei qualsiasi risposta.Creazione di un'immagine estensibile nel generatore di interfacce

+0

Non sono sicuro di cosa intendi esattamente con "immagine estensibile" ...? – Micko

+0

Intendo dire che sto cercando un modo per costruire questo in IB. Ma immagino che non ci sia modo. * menuBgImage = [[UIImage imageNamed: @ "pm_menu_bg.png"] stretchableImageWithLeftCapWidth: 10 topCapHeight: 5]; – ilteris

+0

@ilteris puoi cambiare la risposta corretta su questo post? La risposta corretta ora è sbagliata ... lo ha fatto solo lo – Ross

risposta

6

Con iOS7 ora avete la possibilità di utilizzare per affettare all'interno del Xcode5 xcassets catalogo. Quindi lo stretching sarà fatto per te quando aggiungi l'immagine affettata. (vedi official documentation)

3

No, non è possibile.

+1

In particolare: Interface Builder non è un editor di immagini, quindi non è possibile creare alcun tipo di immagine al suo interno. Qualunque cosa tu voglia fare con un'immagine, dovrai farlo nel codice. –

+11

Ma non si tratta di modificare le immagini ma di costruire immagini estensibili come si può fare nel codice. –

+0

Ciò sarebbe particolarmente utile quando si imposta un'immagine di sfondo per un UITextField. Senza essere in grado di impostare leftCapWidth in IB, sei costretto a impostare l'immagine di sfondo nel codice. – memmons

22

questo può essere fatto in costruttore di interfaccia: http://www.slideshare.net/mystcolor/stretchable-images-in-uiimageview-using-ib-only

enter image description here

+0

Questo è corretto e ha funzionato per me. +1 –

+2

Questo non sembra funzionare per UIBUttons. – bogardon

+0

Che dire di questo: ho solo una dimensione dell'immagine 10x10 e voglio usarla per un UIView di dimensioni 20 * 20? Sembra che l'unico modo sia quello di iniziare un'immagine quanto più grande possibile, in modo da ridurla per adattarla a qualsiasi cornice più piccola. Ciò impedisce all'interfaccia utente di non essere rotto. – samthui7

11

Se vuoi dire si dispone già di un'immagine estensibile, è possibile utilizzare la funzione di stretching di IB. I valori X e Y sembrano essere le posizioni per il punto iniziale di stiramento, relativo all'intera larghezza e altezza dell'immagine, vale a dire 0,5 significherebbe un punto nel mezzo dell'immagine.

Stessa cosa per Larghezza e Altezza: le dimensioni per l'area estensibile, relative alla dimensione dell'immagine, vale a dire impostandola su un valore di 1/imageWidth significherebbe che l'area estensibile è larga 1 pixel. La cosa strana è 0 funziona anche bene per il pulsante blu della pillola (potrebbe essere per motivi di comodità?).

Di seguito, le modalità di visualizzazione sono impostate su "Scala su riempimento". Le immagini sono immagini estensibili da https://github.com/0xced/UIKit-Artwork-Extractor.

enter image description here

Questa risposta è stata ispirata da http://www.slideshare.net/mystcolor/stretchable-images-in-uiimageview-using-ib-only

Problemi correlati