0
인터페이스 작성기 (IB)를 통해 추가되는 일부 레이블에 대한 커스텀 커닝을 지원해야합니다. 사용자 정의 클래스는 IB의 레이블에 설정되며 텍스트도 여기에 설정됩니다. attributedText
속성으로 text
속성을 무시하려고하면 작동하지 않습니다.RubyMotion의 UILabel을 서브 클래 싱하여 attributedText 커닝을 설정하십시오.
내 UIButton
하위 클래스에서 정상적으로 작동하지만 비슷한 기술이 UILabel
과 작동하지 않습니다.
awakeFromNib
또는 drawRect:rect
에 설정할 때 attributedText
속성이 아무런 영향을 미치지 않는 것 같습니다.
예
class KernedLabel < UILabel
def awakeFromNib
super
attributed_text = NSMutableAttributedString.alloc
.initWithString("Atributed Text")
attributed_text.addAttribute(NSKernAttributeName,
value: 1.0,
range: [0, attributed_text.length])
attributedText = attributed_text
end
end
, 그것은 setter 메소드 대가 : 당신이
self.attributedText =
(self
에서의 메소드 호출)를 사용합니다 재산. 커닝이 적용되는 것을 보지 못했지만, 테스트에 참여 했습니까? – wprater예, 위의 정확한 코드는 각 문자 사이에 추가 공백이있는 텍스트를 생성했습니다 (iOS 7) –