[Swift4]UILabelにべき乗を表示する方法

はじめに

SwiftでUILabelにべき乗(「10の2乗」や「2のn乗」)を表示する方法を実装してみた。

環境

Xcode 9.2
Swift 4.0.2

実装方法

まずはIBOutletでラベルの紐付け

@IBOutlet weak var lbl: UILabel!

10の2乗

// 通常の文字フォントサイズ
let font:UIFont? = UIFont(name: "Helvetica", size:40)
// べき乗の文字フォントサイズ
let fontSuper:UIFont? = UIFont(name: "Helvetica", size:20)
let attString:NSMutableAttributedString = NSMutableAttributedString(string: "102", attributes: [.font:font!])
// 10の2乗
attString.setAttributes([.font:fontSuper!,.baselineOffset:20], range: NSRange(location:2,length:1))
lbl.attributedText = attString // 102

複数べき乗が存在する場合はsetAttributesを複数記述する

let font:UIFont? = UIFont(name: "Helvetica", size:40)
let fontSuper:UIFont? = UIFont(name: "Helvetica", size:20)
let attString:NSMutableAttributedString = NSMutableAttributedString(string: "(1-(1-R)n)10", attributes: [.font:font!])
// 1つ目のべき乗
attString.setAttributes([.font:fontSuper!,.baselineOffset:20], range: NSRange(location:8,length:1))
// 2つ目のべき乗
attString.setAttributes([.font:fontSuper!,.baselineOffset:20], range: NSRange(location:10,length:2))
veki.attributedText = attString // (1-(1-R)n)10
スポンサーリンク
PR
PR

シェアする

  • このエントリーをはてなブックマークに追加

フォローする