Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- IOS
- MemoList
- SWIFT
- javascript
- MotionEvent
- dispatchQueue
- web
- ViewModel
- HTML
- 스터디
- RecyclerView
- 실행지연
- SplashFragment
- DispatchTouchEvent
- Kotlin
- ayncAfter
- progressbar
- CSS
- UIPickerView
- InAppPurchase
- CalendarView
- viewpager2
- imagepicker
- Android
- retrofit2
- Dropdown
- 개발
- RxJava
- aab
- Alamofire
Archives
- Today
- Total
멜팅비의 개발 공부
[iOS-Swift] UIImage 색상 코드에서 변경하기 본문
반응형
업무가 많아지면서 그동안 스터디 한 내용을 정리하거나, 개발하면서 도움이 된 코드 정리가 소홀해졌다..
이번에 iOS 프로젝트를 서브로 맡으면서 UI부터 작업을 진행하고 있는데 UI를 하면서 도움이 된 코드나 자주 검색했던 내용들을 하나씩 정리하려고 한다.
iOS 개발을 하면서 아이콘을 정말 많이 사용하게 되는데 코드 내에서 이 아이콘의 색상 변경이 필요할 때가 굉장히 많다.
Tint Color를 통해서 변경할 수 있지만 같은 이미지인데 색상만 변경해서 사용할 때 유용한 코드이다.
extension UIImage {
func imageWithColor(color: UIColor) -> UIImage {
UIGraphicsBeginImageContextWithOptions(self.size, false, self.scale)
color.setFill()
let context = UIGraphicsGetCurrentContext()
context?.translateBy(x: 0, y: self.size.height)
context?.scaleBy(x: 1.0, y: -1.0)
context?.setBlendMode(CGBlendMode.normal)
let rect = CGRect(origin: .zero, size: CGSize(width: self.size.width, height: self.size.height))
context?.clip(to: rect, mask: self.cgImage!)
context?.fill(rect)
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage!
}
}
사용법
let img = UIImage(named:"icon")! as UIImage
let redImg = img.imageWithColor(color: UIColor.red)
반응형
'개발 공부 > [iOS 개발]' 카테고리의 다른 글
[iOS/swift] UIImagePickerController를 활용해서 사진첩 사진 가져오기 (0) | 2021.06.21 |
---|---|
[iOS/swift] JsonString을 Object 배열로 변환하기 (0) | 2021.06.21 |
[iOS-Swift] UIView의 원하는 곳에만 round를 주고싶을 때! (0) | 2021.05.28 |
[iOS-Swift] 실행 지연/1초 후 실행시키기 (DispatchQueue) (0) | 2021.02.23 |
[iOS-Swift] UIPickerView Custom하기 (슬롯머신처럼 만들기) (2) | 2021.02.22 |
Comments