Bạn không thể chỉ định hình ảnh theo cách đó. Nhưng U có thể làm theo cách này.
Đầu tiên add chức năng mà sẽ thay đổi kích thước hình ảnh của bạn:
func resizeImage(image:UIImage, toTheSize size:CGSize)->UIImage{
var scale = CGFloat(max(size.width/image.size.width,
size.height/image.size.height))
var width:CGFloat = image.size.width * scale
var height:CGFloat = image.size.height * scale;
var rr:CGRect = CGRectMake(0, 0, width, height);
UIGraphicsBeginImageContextWithOptions(size, false, 0);
image.drawInRect(rr)
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext();
return newImage
}
Sau đó bạn có thể gán hình ảnh:
let imageName = "11749-simple.jpg"
let image = UIImage(named: imageName)
let newImage = resizeImage(image!, toTheSize: CGSizeMake(70, 70))
var cellImageLayer: CALayer? = cell.cellImage.layer
cellImageLayer!.cornerRadius = cellImageLayer!.frame.size.width/2
cellImageLayer!.masksToBounds = true
cell.cellImage.image = newImage
Và kết quả sẽ là:
Hoặc bạn có thể thử tiện ích này:
extension UIImage {
var circleMask: UIImage {
let square = size.width < size.height ? CGSize(width: size.width, height: size.width) : CGSize(width: size.height, height: size.height)
let imageView = UIImageView(frame: CGRect(origin: CGPoint(x: 0, y: 0), size: square))
imageView.contentMode = UIViewContentMode.ScaleAspectFill
imageView.image = self
imageView.layer.cornerRadius = square.width/2
imageView.layer.borderColor = UIColor.whiteColor().CGColor
imageView.layer.borderWidth = 5
imageView.layer.masksToBounds = true
UIGraphicsBeginImageContext(imageView.bounds.size)
imageView.layer.renderInContext(UIGraphicsGetCurrentContext())
let result = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return result
}
}
và bạn có thể gán hình ảnh:
let imageName = "11749-simple.jpg"
let image = UIImage(named: imageName)
cell.cellImage.image = image?.circleMask
tín dụng mở rộng để THIS câu trả lời.
Nguồn
2015-05-05 05:08:55
chỉ thay thế dòng cuối cùng. cell.imageView = IMAGExem và sau đó kiểm tra – aBilal17
nó nói "không thể gán 'IMAGExem' trong phòng giam" –
ok thay thế dòng cuối cùng như thế, cell.imageView.image = hình ảnh abd sau đó kiểm tra – aBilal17