Есть ли способ авторазмера UIImageView в интерфейсе Builder/раскадровки?
Когда вы устанавливаете образ для просмотра изображений в раскадровке или конструкторе интерфейса, он сохраняет форму оригинала UIImageView
, что означает, что само изображение полностью искажено.
Чтобы соответствовать размеру UIImageView
для его изображения, я должен вручную ввести размер из инспектора файлов.
Есть ли способ, которым UIImageView
может автоматически определять собственный размер своего изображения и соответственно его размер?
Ответы
Ответ 1
Я предполагаю, что вы имеете в виду макет в раскадровке /IB. Чтобы получить собственный размер изображения, просто выберите изображение и нажмите Команда + = на клавиатуре. чтобы изменить размер, пропорционально выберите угол и удерживайте клавишу сдвига, когда вы измените размер.
Ответ 2
Почему вы не задаете размер своего uiimageview в коде?
Вот что вам нужно сделать...
//get the Image
UIImage *img = [UIImage imageNamed:@"img.png"];
CGFloat x = img.origin.x;
CGFloat y = img.origin.y;
CGFloat width = img.size.width;
CGFloat height = img.size.height;
imageView.frame = CGRectMake(x, y, width, height); //imageView is your uiimageview reference
Ответ 3
Используйте contentMode
imageView.contentMode = UIViewContentModeScaleAspectFit;
Изменить:
Я просто видел, что вы, похоже, хотите изменить размер изображения в изображении.... Разные, тогда
Ответ 4
Это то, что я сделал:
imageView.clipsToBounds = YES;
[imageView setContentMode: UIViewContentModeScaleAspectFit];
Это работает для меня.