Saya mencoba menggambar beberapa gambar mini dengan ukuran tetap (100x100) menggunakan UIImageView
. Saya telah mengatur ukuran bingkai tampilan gambar saya menjadi 100x100, dan mengatur contentMode
ke UIViewContentModeScaleAspectFill
.
Pemahaman saya adalah bahwa ini harus menyebabkan gambar diambil pada ukuran yang saya set, dan gambar akan mengisi area gambar, dan klip bagian dari gambar yang berada di luar ukuran yang saya tetapkan untuk tampilan gambar. Namun, gambarnya masih tergambar lebih besar atau lebih kecil dari ukuran 100x100 yang saya tetapkan untuk itu.
Jika saya atur contentMode
ke UIviewContentModeScaleToFill
, maka gambar digambar tepat 100x100, tetapi terdistorsi agar sesuai dengan dimensi tersebut. Adakah ide mengapa isi aspek tidak terpotong seperti yang diharapkan?
Ini kode saya:
_photoView = [[UIImageView alloc] initWithImage:photoImage];
_photoView.contentMode = UIViewContentModeScaleAspectFill;
[self addSubview:_photoView];
CGRect photoFrame = _photoView.frame;
photoFrame.size = CGSizeMake(100, 100);
_photoView.frame = photoFrame;
Untuk ilustrasi yang lebih baik, berikut adalah screenshot dari apa yang saya lihat Kotak hijau adalah yang UIView
berisi yang UIImageView
saya kerjakan. Saya telah mengatur warna latar belakangnya menjadi hijau, dan bingkai tampilan menjadi 100x100. Sebagai tes, UIImageViews
ukurannya adalah 50x50. Seperti yang Anda lihat, saat menggunakan ...AspectFill
, gambar tidak berukuran 50x50, dan dalam beberapa kasus diimbangi dari tempat saya suka. Saat menggunakan ...ScaleToFill
, ukurannya benar, tetapi gambarnya terdistorsi.