これはIBLabel
、フォントを追跡/引き伸ばす です。
ビルドで完全に機能します。ただし、変更はストーリーボードにライブで表示されません。
// UILabel, but you can set
// the tracking (that's the overall amount of space between all letters)
// and streching (actually squeeze or stretch the letters horizontally)
// Note: it's very common that typographers need you to adjust these.
import UIKit
@IBDesignable
class StyledLabel: UILabel
{
@IBInspectable var tracking:CGFloat = 0.8
// values between about 0.7 to 1.3. one means normal.
@IBInspectable var stretching:CGFloat = -0.1
// values between about -.5 to .5. zero means normal.
override func awakeFromNib()
{
let ats = NSMutableAttributedString(string: self.text!)
let rg = NSRange(location: 0, length: self.text!.characters.count)
ats.addAttribute(
NSKernAttributeName, value:CGFloat(tracking), range:rg )
ats.addAttribute(
NSExpansionAttributeName, value:CGFloat(stretching), range:rg )
self.attributedText = ats
}
}
右側のシミュレーターは完璧に機能します。
実際にはストーリーボードにライブで表示されません (左を参照)。
ワイルドな推測ですが、初期化機能がありませんか?
または、何が問題なのですか?
注 - 高さに合わせてフォント サイズを設定します。
すべてのデバイスでラベル フレームを埋めるようにフォント サイズを設定することができます。タイピングを節約するために、「高さのポイント」、追跡、ストレッチを行うクラスを次に示します。