2017-01-19 8 views
0

현재 표시된 레이블에는 오른쪽 위 및 오른쪽 하단에 사용자 지정 반경이 설정되어 있습니다. 그러나 배경색은 레이블이 완전히 채워지지 않습니다.UILabel 레이어 배경색 부분 채우기가 의도하지 않음

레이어 maskToBounds 속성을 true 및 false로 설정하려고 시도했습니다. dateLabel.backgroundColordateLabel.layer.backgroundColor 모두를 원하는 짙은 청색으로 프로그래밍 방식으로 변경하려고 시도했습니다. 이는 스토리 보드에서 기본값으로 설정되어 레이블을 다시 채우려 고 시도하지 않았습니다.

@IBOutlet weak var dateLabel: UILabel! { didSet { 
    dateLabel.round(corners: [.topRight, .bottomRight], radius: 15, borderColor: UIColor.cyan, borderWidth: 3.0) 
    dateLabel.setNeedsLayout() 
}} 

override func viewDidLayoutSubviews() { 
    dateLabel.layoutIfNeeded() 
} 

override func viewDidLoad() { 
    super.viewDidLoad() 
    dateLabel.layer.backgroundColor = UIColor.blue 
} 

enter image description here

은 무엇 레이블은 전적으로 뷰를 작성하지 어떤 솔루션을 사용할 수에 대한 이유가 될 수 있을까?

+0

스토리 보드에서 그 뒤 또는 위의보기/레이블이 있는지 확인하십시오. 또는 프로그래밍 방식으로 추가하는지 확인하십시오. – ebby94

+0

배경색을 추가하기 위해 작성한 내용을 말해 줄 수 있습니까? –

+0

@Malav Soni 현재 UILabel은 스택보기 내에 있습니다. 모서리를 빙글 빙글하는 코드는 [link] (http://stackoverflow.com/a/35621736/5434541) – lifewithelliott

답변

0

문제는 확실히 코너 함수를 사용하는 것입니다. UIlable에 하위 레이어를 추가하고 각 하위 레이어는 배경색을 가지고 있으므로 하위 레이어를 추가하는 함수 나 viewDidLoad를 사용하지 않고 모서리를 반올림하는 다른 방법을 찾을 수 있습니다 하위 레이어의 배열 인 레이어 layer.sublayers의 하위 레이어 속성을 반복하고 각각에 배경색을 적용하거나 색상 지정의이 왕을 수행하는 UIView 확장 (모서리 함수)에 함수를 추가 한 다음 해당 함수를 호출합니다.