2016-06-17 1 views
4

대문자와 소문자가있는 레이블에는 다음과 같은 방법으로 잘 작동합니다.UILabel NSUnderlineStyle.StyleSingle 대문자에 대한 attributedString 센터를 만드는 방법

func strikeThroughLabel(label: UILabel) { 
     let attributedString = NSAttributedString(string: label.text!, attributes: [NSStrikethroughStyleAttributeName: NSUnderlineStyle.StyleSingle.rawValue]) 
     label.attributedText = attributedString 
    } 

대문자로 된 문자가 들어있는 레이블의 경우 줄 바꿈 줄이 수직으로 가운데에 배치되지 않습니다.

오히려 불편한 문제를 해결하는 가장 쉬운 방법은 무엇입니까?

+0

스토리 보드 ([image] (http://i.stack.imgur.com/ylG1z.png))에서 문제를 재현하지 못했습니다. 내가 놓친 게 있니? – JAL

+0

http://i.imgur.com/3dYK3C9.png 예를 들어 세로로 가운데에 정렬되지 않습니다. 취소 선이 그 옆에 "Hello World"와 같은 다른 레이블을 붙이면 더 명확 해집니다. – AppreciateIt

+0

오, 선 자체가 가운데에 있지 않습니다. 나는 당신이 말하는 것을보고 있습니다. – JAL

답변

1

아주 좋은 해결책은 아니지만. 나는 이것이 당신이 필요로하는 것과 상당히 반대라고 말해야합니다.

줄 자체를 조정하는 대신 NSBaselineOffsetAttributeName을 사용하는 것이 좋습니다. 필요한 경우 텍스트 기준선을 약간 위/아래로 조정합니다.

UILabeltext에 대해 라인이 가운데에 세로로 나타나야합니다.

희망 사항에 부합 되길 바랍니다.

관련 문제