UITabBar 배지 배경색 변경
배지의 표시 내용에 대한 변경은 badgeValue 를 변경하는 것으로 가능하지만, 그 배경색을 변경하는 수단은 준비되어 있지 않다.
그 배경색을 변경하는 방법을 썼다.
func tabbaredit(color:UIColor){
let tabbar = self.tabBarController!.tabBar
// search badgeView
for barButton in tabbar.subviews{
for buttonSubView in barButton.subviews{
if NSStringFromClass(buttonSubView.dynamicType) == "_UIBadgeView"{
buttonSubView.backgroundColor = color
buttonSubView.layer.cornerRadius = buttonSubView.frame.size.height/2
for badgeView in buttonSubView.subviews{
// change badge background color
if NSStringFromClass(badgeView.dynamicType) == "UILabel"{
let label:UILabel = badgeView as! UILabel
label.backgroundColor = color
label.layer.cornerRadius = label.frame.size.height/2
}
// remove _UIBadgeBackground
if NSStringFromClass(badgeView.dynamicType) == "_UIBadgeBackground"{
badgeView.hidden = true
}
}
}
}
}
}
상기 메소드를 badgeValue를 변경한 직후에 호출한다.
그러면, 다음과 같이 배지의 배경색이 변경된다.
조금 응용하면 문자색도 변경 가능.
테스트에 사용한 소스
참고
ぃ tp // 코 m / 사토 미코 94 / ms / 3623f8d56 17513579d6
htps : // 기주 b. 이 m / n st / 이오 S 룬 치메 - 헤어 rs / b ぉ b / 뭐 r / F 라메 rks / うきき t. f 라메를 rk
Reference
이 문제에 관하여(UITabBar 배지 배경색 변경), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/color_box/items/d6302e6d5ff210d8cc89텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)