UIImage
var ve beyaz kenarlıklı yuvarlak yapmam gerekiyor. Bunun için UIImageView
'a ihtiyacım yok.Köşeleri yuvarlatılmış köşelerle ve kenarlarla UIImage yapın
Bunu nasıl yapıyorsunuz?
UIImage
var ve beyaz kenarlıklı yuvarlak yapmam gerekiyor. Bunun için UIImageView
'a ihtiyacım yok.Köşeleri yuvarlatılmış köşelerle ve kenarlarla UIImage yapın
Bunu nasıl yapıyorsunuz?
:
- (UIImage *)imageWithBorderAndRoundCornersWithImage:(UIImage *)image lineWidth:(CGFloat)lineWidth cornerRadius:(CGFloat)cornerRadius {
UIGraphicsBeginImageContextWithOptions(image.size, false, image.scale);
CGRect rect = CGRectZero;
rect.size = image.size;
CGRect pathRect = CGRectInset(rect, lineWidth/2.0, lineWidth/2.0);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:pathRect cornerRadius:cornerRadius];
CGContextBeginPath(context);
CGContextAddPath(context, path.CGPath);
CGContextClosePath(context);
CGContextClip(context);
[image drawAtPoint:CGPointZero];
CGContextRestoreGState(context);
[[UIColor whiteColor] setStroke];
path.lineWidth = lineWidth;
[path stroke];
UIImage *finalImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return finalImage;
}
alır:
Ve markaları :
UIImageView uygulamasının bunu basit bir şekilde yapmanız gerekir. Yuvarlatılmış (Köşe Yarıçapı) ve kenarlık kalınlık/renk UIView CALayer'in tipik özellikleridir. En basit yol, bunu uygulamak için bir UIImageView veya belki başka bir UIView türüne sahip olmaktır.
Böyle bir şey işi yapabilir.
let myImg = UIImage(named: "some_image.png")
let imgView = UIImageView(image: myImg)
imgView.clipsToBounds = true
imgView.layer.cornerRadius = 0.5*imgView.frame.width
imgView.layer.borderWidth = 5.0 //Or some other value
imgView.layer.borderColor = UIColor.whiteColor().CGColor
Bu, görüntüyü, görüntü görünümünün boyutuna ve bunu yaptığınız aygıtın ölçeğine göre yeniden boyutlandıracaktır. İstenilen etki bu olursa, bu iyi olur, ancak OP bunun farkında olmalıdır. Ayrıca, bu tekniğin bazen yuvarlatılmış köşelerin dış kenarları boyunca istenmeyen yapay dokulara neden olabileceğini de unutmayın. Bunu, görüntü görünümünü maskeleyerek çözebilirsiniz. Bkz. Http://stackoverflow.com/a/30125297/1271826. – Rob