내가 신속한에서 그리고 난이있는 UIImage와 UIColor에서받는 함수를 생성하기 위해 노력하고있어에있는 UIImage의 색상을 변경하고있는 UIImage 내가 작업하고 있지 않다스위프트
를 칠한 반환하는 방법 UIImageView, 이들은 아이콘으로 사용하려는 UIImages입니다. 이것을 구현할 수있는 좋은 방법이 있습니까? (내가 때문에 아이콘 생각하는) 당신은 PNG 이미지를 사용하는 경우
내가 신속한에서 그리고 난이있는 UIImage와 UIColor에서받는 함수를 생성하기 위해 노력하고있어에있는 UIImage의 색상을 변경하고있는 UIImage 내가 작업하고 있지 않다스위프트
를 칠한 반환하는 방법 UIImageView, 이들은 아이콘으로 사용하려는 UIImages입니다. 이것을 구현할 수있는 좋은 방법이 있습니까? (내가 때문에 아이콘 생각하는) 당신은 PNG 이미지를 사용하는 경우
func draw(in rect: CGRect)
을 사용할 수 있습니다
당신의 아이콘 이미지 그것을 렌더링 모드 .alwaysTemplate
를 사용하여 :
extension UIImage {
func tinted(with color: UIColor) -> UIImage? {
UIGraphicsBeginImageContextWithOptions(size, false, scale)
defer { UIGraphicsEndImageContext() }
color.set()
withRenderingMode(.alwaysTemplate)
.draw(in: CGRect(origin: .zero, size: size))
return UIGraphicsGetImageFromCurrentImageContext()
}
}
놀이터 테스트
let camera = UIImage(data: try! Data(contentsOf: URL(string: "https://cdn4.iconfinder.com/data/icons/ionicons/512/icon-camera-128.png")!))!
let redCmera = camera.tinted(with: .red)
은 - 바로 사용
let originalImage = UIImage(named: "iconName")
let tintedImage = originalImage?.withRenderingMode(.alwaysTemplate)
yourButton.setImage(tintedImage, forState: .normal)
yourButton.tintColor = UIColor.blue //change color of icon
뛰어난! 고맙습니다 – TJBlack31