読者です 読者をやめる 読者になる 読者になる

iOS6でUILabelのAutoshrinkを有効にする

iOS7だと、UILabelにIB上でAutoshrinkをMinimum Font Size or Minimum Font Scaleに設定してやれば有効になる。だけど、それだけだとiOS6で縮小されない。

なので、コード上で

self.label.adjustsLetterSpacingToFitWidth = YES;

すると、Autoshrinkが効くようになる。

Xcode5.0だとiOS6でも何もしないでも効いてた気がするんだけど、Xcode5.1(iOS SDK7.1?)にしたら効かなくなった気がする。

今回は使うことにしたけど、adjustsLetterSpacingToFitWidthはdeprecatedになってて、NSAttributedStringを使ってどうにかしろみたいな事を書いてあるので、ここらへんのオプションはおいおい全てNSAttributedStringでやれみたいな感じになるのかなぁとか思った。