【iOS】1つのUILabelで太字と通常テキストを混在させる方法(Storyboard・コード両対応)
iOSアプリ開発では、1つの UILabel の中に「太字」と「通常(非太字)」のテキストを混在させて表示したいケースがよくあります。これを実現するには、Storyboard上で編集する方法と、コードで実装する方法の2通りがあります。それぞれの手順を見ていきましょう。
方法1:Storyboardで編集する
編集したいラベルを選択し、アトリビュートインスペクタ(Attributes Inspector)を開きます。
最初の「Text」項目で、「Plain」ではなく「Attributed」を選択します。
ラベルに「Bold Regular」というテキストを入力します。
「Bold」の部分をダブルクリックして選択し、右クリックしてメニューを表示します。
メニューから「Font」>「Bold」を選択すれば設定は完了です。
Storyboardを使えばコードを書かずに直感的に編集できるため、デザインの微調整にも便利です。
方法2:コードで実装する
プログラムで実現する場合は、NSAttributedString を利用します。ViewController の viewDidLoad メソッドに以下のコードを追加してください。
override func viewDidLoad() {
super.viewDidLoad()
let boldAttribute = [
NSAttributedString.Key.font: UIFont(name: "HelveticaNeue-Bold", size: 18.0)!
]
let regularAttribute = [
NSAttributedString.Key.font: UIFont(name: "HelveticaNeue-Light", size: 18.0)!
]
let boldText = NSAttributedString(string: "Bold", attributes: boldAttribute)
let regularText = NSAttributedString(string: " regular", attributes: regularAttribute)
let newString = NSMutableAttributedString()
newString.append(boldText)
newString.append(regularText)
lbl.attributedText = newString
}このコードでは、太字用と通常用のフォント属性をそれぞれ定義し、NSMutableAttributedString に連結してからラベルの attributedText に代入しています。必要に応じて、この処理を関数や extension として切り出せば、複数のラベルでも再利用しやすくなります。
なお、フォント名を文字列で指定する代わりに UIFont.boldSystemFont(ofSize:) や UIFont.systemFont(ofSize:weight:) を使えば、システムフォントを安全に指定することも可能です。
上記のどちらの方法でも実行結果は同じになり、1つのラベル内に太字と通常テキストが混在した表示になります。

-
iPhoneのiOSをダウングレードする方法【ベータ版・正式版それぞれの戻し方】
iOSのアップデートは非常に魅力的です。iPhoneの機能を向上させる素晴らしい新機能が追加されるだけでなく、ほとんどのマイナーアップデートには、既知のバグや不具合を修正する多数の修正も含まれています。 しかし、iOSのベータ版は話が別です。ベータ版では、重要な機能が動作しなくなったり、アプリが正常に起動できなくなったり、バッテリー関連の問題が発生したりすることがよくあります。まれに、正式リリース版でも同様の問題が起こることがあります。 他のトラブルシューティング手段をすべて試しても解決しない場合(iPhoneのリセットは試しましたか?)、iOSのダウングレードが有効な解決策になる可能
-
iOS 12のインストール方法|GM版・IPSWファイルを使った2つの手順を解説
Appleは、待ち望まれていたiOS 12のリリース日を9月17日と発表しました。しかし、正式リリースまで待ちたくない方には、今すぐiOS 12のゴールドマスター(GM)版をインストールする方法があります。そのためには「Apple Beta Software Program」に参加し、お使いのデバイスを登録する必要があります。 正式版のiOS 12は約1週間後に一般公開される予定で、「スクリーンタイム」「Memoji」「Siriショートカット」、改善された通知機能など、多数の新機能が利用できるようになります。 ポイント:iOS 12は、古い機種から新しい機種まで、あらゆるiPhoneの応答速度