iOS
 Computer >> コンピューター >  >> プログラミング >> iOS

【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つのラベル内に太字と通常テキストが混在した表示になります。

【iOS】1つのUILabelで太字と通常テキストを混在させる方法(Storyboard・コード両対応)

  1. iPhoneのiOSをダウングレードする方法【ベータ版・正式版それぞれの戻し方】

    iOSのアップデートは非常に魅力的です。iPhoneの機能を向上させる素晴らしい新機能が追加されるだけでなく、ほとんどのマイナーアップデートには、既知のバグや不具合を修正する多数の修正も含まれています。 しかし、iOSのベータ版は話が別です。ベータ版では、重要な機能が動作しなくなったり、アプリが正常に起動できなくなったり、バッテリー関連の問題が発生したりすることがよくあります。まれに、正式リリース版でも同様の問題が起こることがあります。 他のトラブルシューティング手段をすべて試しても解決しない場合(iPhoneのリセットは試しましたか?)、iOSのダウングレードが有効な解決策になる可能

  2. 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の応答速度