Apple Interface Builder: aggiunta sottoview a UIImageView

Ho creato UIImageView con l’aiuto di Interface Bulder. Ora voglio inserire l’etichetta al suo interno (come la sua sottoview). Nel codice posso scrivere qualcosa come: [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 .

Non è ansible aggiungere una sottoview a UIImageView nel builder dell’interfaccia per motivi noti solo ad Apple! Hai ragione nel dire che puoi aggiungere Subview a livello di codice, ma poi, l’overhead di impostare le maschere di autoresizzazione e i posizionamenti delle subviews dovrebbero essere tutti gestiti in codice, il che è ingombrante.

Quindi c’è una soluzione facile. Invece di trascinare un’istanza di UIImageView nel pennino, trascina un UIView e modifica la sua class in UIImageView da UIView (opzione cmd + 4 di inspector). L’unica differenza che si trova nel pennino per l’istanza imageView predefinita e la nuova istanza di sottoclass UIImageView è: non è ansible impostare l’immagine sul nuovo imageView dal pennino (opzione cmd + 1). Quindi, nel metodo -viewDidLoad del proprio viewController appropriato, imposta l’immagine a questo punto vendita di UIImageView.

Facendo così, sei libero di aggiungere sottoview alle tue istanze “now UIImageView” nel builder dell’interfaccia, il che è molto semplice.

Spero che questo ti aiuti . . .

Vorrei aggiungere una risposta.

Mentre fa schifo non puoi aggiungere sottoview a UIImageView , puoi ottenere lo stesso effetto incorporando UIView con uno UIView trasparente (colore trasparente).

Quindi metti l’ UIImageview PRIMA di farlo.

Quindi l’ UIView ha le sottoview e UIImageview è lo sfondo di UIView .

Penso che sia l’intento di Apple.

Ecco uno screenshot:

inserisci la descrizione dell'immagine qui

Ecco il risultato:

inserisci la descrizione dell'immagine qui

Non dimenticare di impostare lo sfondo come colore trasparente

inserisci la descrizione dell'immagine qui

Ora, se qualcuno potrebbe davvero indicarmi un tutorial su come farlo, sarà fantastico. Ho passato ore a farlo in modo controllato. La risposta verificata è una risposta soddisfacente ma non intuitiva perché non è ansible vedere chiaramente l’immagine di sfondo mentre si lavora. Penso che il mio sia il modo giusto per farlo.

Nell’ultimo XCode (4.5) esiste un’opzione per trascinare e rilasciare i controlli richiesti sul genitore.

È abbastanza facile Schermata allegata per lo stesso. Ho trascinato Label / TextField e Button su UIImageView inserisci la descrizione dell'immagine qui

Usa questo codice:

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

(sostituisci background.png con l’immagine ) (sostituisci atIndex: 0 con qualsiasi posizione nella radice .index in cui vuoi inserire l’immagine e la tua distriggerszione.