반응형
테이블 셀을 이용하다 보면 아래와 같이 inticator view를 이용할 때가 있습니다.

그런데 해당 화살표의 색상을 바꾸려고 검색을 해봤는데 대부분이 UIImage를 asset에 넣어 tint 색상을 바꾸는 내용들이였습니다.
그래서 여러 테스트를 해보다가 indicator view의 버튼( > 모양 )이 항상 last로 나오는 것을 알게 되었고 이를 코드로 변경이 가능했습니다.
if let indicatorButton = self.subviews.compactMap({ $0 as? UIButton }).last {
let image = indicatorButton.backgroundImage(for: .normal)?.withRenderingMode(.alwaysTemplate)
indicatorButton.setBackgroundImage(image, for: .normal)
indicatorButton.tintColor = UIColor(/*원하는 색상*/)
}
위와 같이 compactMap을 통해 UIButton만 뽑아낸 후, 제일 마지막꺼를 가져와 변경하니 색상이 변경된 것을 알게 되었습니다.
반응형
'Develop > Swift' 카테고리의 다른 글
[iOS] Factory Method Pattern (0) | 2022.05.09 |
---|---|
[iOS] 아키텍쳐 VIPER 패턴 (0) | 2022.05.09 |
[iOS] View Lifecycle (0) | 2022.05.08 |
[iOS] Xcode Code Snippet (0) | 2022.05.08 |
[Objective-C] message, location으로 매개변수 이름정하면 에러.. (0) | 2022.05.07 |