2017-03-17 18 views
2

단추에 defined runtime attributes을 사용합니다.런타임 특성 테두리 색

layer.cornerRadius 
layer.masksToBounds 
layer.borderWidth 

그리고 국경을 녹색으로 칠하고 싶습니다. 그러나 내 코드가 작동하지 않습니다.

layer.borderUIColor 

테두리는 검은 색입니다. 런타임 속성으로 테두리 색상을 페인트하는 방법은 무엇입니까?

enter image description here

+0

당신은이 코드 라인을 확신 할 수 있습니까? layer.borderUIColor가 레이어 테두리 색상의 올바른 속성입니까? 이것이 layer.borderColor가 될 수 있습니다. –

+0

'layer.borderColor'를 사용하면 내 경계가 사라졌습니다. IB에서 UIColor 만 할당 할 수 있기 때문에 CGColor를 할당 할 수 없기 때문에 –

+0

이 사라졌습니다. 프로그래밍 방식으로 수행해야합니다. –

답변

1

사실, 당신이 잘못 attribute.The를 사용하고, 올바른 속성은 layer.borderColor입니다. 그러나 CGColor의 유형이기 때문에 다시 작동하지 않으며 IB에서 UIColor 만 할당 할 수 있습니다. CGColor를 할당 할 수 없습니다.

당신은 간단하게 그것을 programaticlly 할 수 있습니다.

또는

유형을 CGColor로하여 확장을 생성 할 수 있습니다.

+0

'layer.borderColor'를 사용하면 테두리가 사라졌습니다. –

+0

답변을 업데이트했습니다. 희망, 도움이 –

+0

고마워! 그것은 나를위한 일입니다. 이 'layer.masksToBounds'를 저장하거나 제거해야합니까? –

0

당신은 사용해야 layer.borderColor하고 확실히 작동합니다

-1

이 거짓 layer.masksToBounds을 = 설정합니다.

당신은하고있는 것처럼 storyborad를 통해 이것을 관리 할 수 ​​있지만 여기에 잘못된 키를 전달하고 있습니다. 그것은이어야한다

layer.borderColorFromUIColor