2016-04-20 13 views
0

In iOS 9.3 habe ich eine quadratische UIImageView (zB 200x200), und ich versuche, mit cornerRadius einen UIImage (1x1 Pixel) zuzuordnen, und UIImageView wird zu einem Kreis. Ich denke, das Problem kam von UIImageView beim Rendern.Wie UIImageView in iOS 9.3 Rendering ein UIImage?

photoImageView.image = [UIImage imageNamed:@"iphone.jpeg"]; // 1px height x 1 px width 
photoImageView.contentMode = UIViewContentModeScaleToFill; 
// It can fixed with the below code 
// photoImageView.image = [[UIImage imageNamed:@"iphone.jpeg"] stretchableImageWithLeftCapWidth:2 topCapHeight:2]; 
// photoImageView.contentMode = UIViewContentModeScaleAspectFill; 
photoImageView.layer.cornerRadius = 20.0; 
photoImageView.layer.masksToBounds = YES; 

Wenn ich contentMode ändern ScaleAspectFill oder ScaleToFill, oder die Größe des UIImage (2x2) zu ändern, oder iOS-Version unter 9.3, funktioniert es wie ich erwartet hatte.

http://i.imgur.com/kM36GPW.png

Das Projekt: download the sample projec

Rot: Tatsächlicher Ergebnis. Grün: Erwartet.

Kann jemand den Grund dafür erklären? Vielen Dank.

+0

set photoImageView.clipsToBounds = YES; –

Antwort

0

versuchen Sie es von Ihrem Eckenradius Wert

photoImageView.image = [UIImage imageNamed:@"iphone"]; // 1px height x 1 px width 
photoImageView.contentMode = UIViewContentModeScaleToFill; 
photoImageView.layer.cornerRadius = 5.0; 
photoImageView.layer.masksToBounds = YES; 
+0

Auch wenn ich cornerRadius auf 1 setze, wird der Kreis immer noch gerendert. Ich kann das Problem beheben, aber ich kenne den Grund nicht, ich muss nur wissen, warum das Problem passiert. –

0

Set masksToBounds = YES

photoImageView.layer.masksToBounds=YES; 

Und Set Imageview-Modus Aspect Füllen oder Aspect Fit ändern.

+0

Danke Mitesh. Ich habe nicht vor, einen Kreis UIImageView zu bekommen, aber ich habe einen Kreis. Und ich weiß nicht, warum ich einen Kreis habe? –

+0

setzen Sie ein anderes Bild zu Ihnen UIimageView und überprüfen Sie es. photoImageView.image = [UImage imageNamed: @ "1.jpg"]; photoImageView.layer.cornerRadius = 20.0; photoImageView.layer.masksToBounds = YES; Ich überprüfe dein Projekt und seine Arbeit. Sieh dir das an . In deinem Projekt hast du clipstobound = yes gesetzt, damit imageview zu circle wurde. –

+0

Hallo Mitesh, was ist die Dimension von "1.jpg"? Versuchen Sie ein 1x1-Image auf iOS 9.3? –

Verwandte Themen