iOS 9.3では正方形のUIImageView(たとえば200x200)があり、cornerRadiusでUIImage(1x1ピクセル)を割り当てようとしましたが、UIImageViewは円になりました。私は問題がレンダリング時にUIImageViewから来たと思います。私は9.3を下回るScaleAspectFillまたはScaleToFill、またはUIImage(2×2)のサイズを変更するcontentMode、またはiOSのバージョンを変更した場合iOS 9.3のUIImageViewは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;
は、それは私が期待されるように動作します。
http://i.imgur.com/kM36GPW.png
プロジェクト:download the sample projec
赤:実際の結果。 緑色:予想されます。
誰かがその理由を説明できますか?ありがとうございました。
set photoImageView.clipsToBounds = YES; –