Domanda

Ho creato UIImageView con l'aiuto di interfaccia Bulder. Ora voglio mettere un'etichetta al suo interno (come la sua visualizzazione secondaria). Nel codice posso digitare qualcosa di simile: [myUIImageView addSubview:myUILabel]; Ma posso farlo con l'aiuto di IB? Ho trovato la soluzione per UIView, ma non riesco a trovare qualcosa di simile per UIImageView.

È stato utile?

Soluzione

Non è possibile aggiungere una visualizzazione secondaria per UIImageView in Interface Builder per ragioni note solo ad Apple! Hai ragione nel dire che si può addSubview di programmazione, ma poi, il sovraccarico di impostazione maschere ridimensionamento automatico e di invio dei subviews dovrebbero essere tutti gestiti in codice, che è ingombrante.

Quindi non v'è una soluzione semplice. Invece di trascinare un'istanza di UIImageView nel pennino, è sufficiente trascinare un UIView e cambiare categoria per UIImageView da UIView (cmd + 4 possibilità di ispettore). L'unica differenza si trova nel pennino per istanza predefinita ImageView e la vostra nuova istanza UIImageView sottoclasse è: non è possibile impostare un'immagine al tuo nuovo IMAGEVIEW da pennino (cmd + 1 opzione). Così, nel metodo -viewDidLoad della sua appropriata viewController, impostare un'immagine a questa presa di UIImageView.

In questo modo, si è liberi di aggiungere subviews ai tuoi "ora UIImageView" istanze in Interface Builder, che è molto più facile.

Spero che questo aiuti. . .

Altri suggerimenti

Vorrei aggiungere risposta.

Anche se fa schifo, non è possibile aggiungere visualizzazione secondaria per UIImageView, è possibile ottenere lo stesso effetto incorporando UIView con trasparente (colore chiaro) di sfondo.

Poi mettere il UIImageview prima di esso.

Così il UIView ha le subviews e il UIImageview è lo sfondo della UIView.

Credo che sia l'intenzione di Apple.

Ecco uno screenshot:

entrare descrizione dell'immagine qui

Ecco il risultato:

entrare descrizione dell'immagine qui

Non dimenticare di impostare lo sfondo come il colore chiaro

entrare descrizione dell'immagine qui

Ora, se qualcuno potrebbe in realtà mi puntare a un tutorial su come fare questo sarà grande. Ho passato ore a fare nel modo risposto controllato. La risposta è una risposta controllato bene, ma molto poco intuitivo, perché non si può vedere l'immagine di sfondo in modo chiaro durante il lavoro. Credo che il mio è il modo corretto per farlo.

In ultima XCode (4.5) v'è la possibilità di trascinare e rilasciare i controlli necessari per il genitore.

E 'abbastanza facile. schermo collegato girato per lo stesso. Ho trascinato l'etichetta / TextField e Button per UIImageView entrare descrizione dell'immagine qui

Utilizzare questo codice:

UIImage *image = [UIImage imageNamed:@"background.png"];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
[self.view insertSubview:imageView atIndex:0];

(sostituire background.png con immagine ) (sostituire atIndex:. 0 con qualsiasi posto nella radice .index si desidera inserire l'immagine e il tuo off

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top