2015-01-19 2 views
0

Я начинаю разработку iOS и придерживаюсь следующей проблемы.изображение не подходит в UIImageView

В .xib файле У меня есть кнопка и изображение, как показано на следующем изображении.

enter image description here

Теперь я сделал следующее, чтобы показать изображение с точки зрения изображения и установить режим содержания в .m файл.

UIImage *save = UIGraphicsGetImageFromCurrentImageContext(); 
self.ivCard.image = save; 
self.ivCard.contentMode = UIViewContentModeScaleAspectFit; 
self.ivCard.clipsToBounds = YES; 

Теперь результат выглядит следующим образом.

enter image description here

Исходное изображение имеет разрешение 2000x1000, здесь

enter image description here

Изображение автоматически обрезается с правой стороны, он должен быть в хорошей форме с точки зрения изображения.

ответ

2

Довольно уверен, что вы не добавили ограничений в ImageView, размер ImageView не совпадает с размером устройства.

Добавьте ограничения от ImageView к границам в Interface Builder, и он будет работать.

Проверил: https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/WorkingwithConstraints/WorkingwithConstraints.html

+0

Я добавил ограничения и это сработало! Благодарю. – dakshbhatt21

0

Есть 2 способа его достижения.

  1. Вы можете либо пойти на ограничения и добавить ограничения на ваш взгляд изображения либо из файла .xib или prgrammatically, как показано ниже:

    // выравнивать ivCard из левого и правого

    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-0-[ivCard]-0-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(ivCard)]]; 
    

    // выравнивать ivCard из верхней и нижней

    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-20-[ivCard]-0-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(ivCard)]]; 
    
  2. Вы можете непосредственно установить рамки для просмотра изображений с помощью этого кода:

    CGFloat btnHeight = 20; // Your back button height from xib 
    
    self.ivCard.frame = CGRectMake(0, btnHeight, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height - btnHeight); 
    
+0

спасибо за ответ, в нем отсутствовали ограничения изображения в файле .xib. – dakshbhatt21

 Смежные вопросы

  • Нет связанных вопросов^_^