2

Я хочу установить изображение, взятое из галереи и камеры в виде изображения круглой формы. Но форма изображения изменяется, когда я устанавливаю образ к нему.UIImageview не сохраняет свою круглую форму в ячейке со статическим табличным представлением после получения изображения в нем

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage]; 

//make imageview round 
imageView.layer.cornerRadius = imageView.frame.size.width/2; 
imageView.clipsToBounds = YES; 

UIImage *resizedImage=[Services resizeImage:image]; 
imageView.contentMode = UIViewContentModeScaleAspectFit; 

imageView.image=resizedImage; 
[self dismissViewControllerAnimated:true completion:nil]; 

enter image description here

спасибо заранее

+0

whats ur imageview frame –

+0

Вам нужно установить ширину и высоту изображения, фиксированную с помощью автоматической компоновки. –

+0

У меня установлена ​​высота = 80, ширина = 80, а изображение - в центре – sarita

ответ

0

Установите ваше изображение вида рама в виде квадрат затем установить радиус угловой половину width.See эти линии -

userimage.layer.borderWidth = 3.0 
    userimage.clipsToBounds = true 
    userimage.layer.cornerRadius = userimage.frame.size.width/2; 
    userimage.layer.borderColor = UIColor.orangeColor().CGColor 

Здесь размер изображения пользователя: 50 * 50.

0

Вы также можете сделать наоборот: обрезать изображение по кругу, и добавить его в квадратное зрения:

CALayer *imageLayer = image.layer; 
[imageLayer setCornerRadius:image.frame.size.width/2]; 
[imageLayer setBorderWidth:1]; 
[imageLayer setMasksToBounds:YES]; 
imageLayer.borderColor = (__bridge CGColorRef _Nullable)([UIColor clearColor]); 
0

первый убедитесь, что соотношение сторон вашего изображения составляет 1: 1

и установить уголRadius imag eView после установки измененного изображения.

1

Возможно, вы выбрали «высокое» изображение. Заменить

imageView.contentMode = UIViewContentModeScaleAspectFit;

С

imageView.contentMode = UIViewContentModeScaleAspectFill;

так, что она охватывает всю область, и вы будете иметь возможность видеть, что это округлый.