Ho questo UIImageView
e ho i valori della sua altezza massima e larghezza massima. Quello che voglio ottenere è che voglio prendere l'immagine (con qualsiasi proporzione e qualsiasi risoluzione) e voglio che si adatti ai bordi, quindi l'immagine non supera, ma può ridurli come vuole . (Segnato in rosso nella foto):Ridimensiona UIImmagine e modifica la dimensione di UIImageView
In questo momento l'immagine si adatta alle dimensioni necessarie correttamente, ma ho 2 preoccupazioni: 1. Il UIImageView
non è uguale la dimensione dell'immagine ridimensionata, lasciando così sfondo rosso (e io non lo voglio) 2. Se l'immagine è più piccola che l'altezza del mio UIImageView
non è ridimensionata per essere più piccola, rimane la stessa altezza.
Ecco il mio codice e so il suo male:
UIImage *actualImage = [attachmentsArray lastObject];
UIImageView *attachmentImageNew = [[UIImageView alloc] initWithFrame:CGRectMake(5.5, 6.5, 245, 134)];
attachmentImageNew.image = actualImage;
attachmentImageNew.backgroundColor = [UIColor redColor];
attachmentImageNew.contentMode = UIViewContentModeScaleAspectFit;
Così come faccio a cambiare dinamicamente la dimensione non solo della UIImageView.image
, ma di tutta la UIImageView
, rendendo così la sua dimensione completamente regolabile per il suo contenuto. Qualsiasi aiuto sarebbe molto apprezzato, grazie!
se dopo superview non aggiungo '!' mi dà errore 'valore di tipo opzionale' UIView? ' non scartato 'è corretto se utilizzo'! ' : imageView.center = imageView.superview! .center; – Alex
Cosa succede se stai utilizzando il layout automatico? Non dovresti impostare 'frame'? –