web-dev-qa-db-ja.com

複数行の左揃えのUIAlertViewを作成するにはどうすればよいですか?

次のような掲示板リストのような数行で左揃えのUIAlertViewを作成することに興味があります。

  • ライン1
  • 2行目
  • 3行目

これが私がこれまでに持っているものです:

alert = [[UIAlertView alloc] initWithTitle: @"How to use buttons"
                                   message: @"line 1. line 2, line 3 "
                                  delegate: nil
                         cancelButtonTitle: @"OK"
                         otherButtonTitles: nil];

また、アラートビューの色を赤に変更したいと思います。

18
DavidNg

箇条書きは、Unicodeコード0x2022で表されます。新しい行に「\ n」を使用して、次のように機能させました。

_UIAlertView *alert = [[UIAlertView alloc]
            initWithTitle: @"How to use buttons"
            message: [NSString stringWithFormat: @"%C line 1.\n %C line 2,\n %C line 3", (unichar) 0x2022, (unichar) 0x2022, (unichar) 0x2022];
            delegate: nil
            cancelButtonTitle:@"OK"
            otherButtonTitles:nil];
_

それは弾丸のために働くはずです。

左揃えの場合は、次のようにします。

_NSArray *subViewArray = alertView.subviews;
for(int x = 0; x < [subViewArray count]; x++){

    //If the current subview is a UILabel...
    if([[[subViewArray objectAtIndex:x] class] isSubclassOfClass:[UILabel class]]) {
        UILabel *label = [subViewArray objectAtIndex:x];
        label.textAlignment = NSTextAlignmentLeft;
    }
}
_

要約すると:

  • 表示する場合は「\ n」新しい行
  • bulletsの場合は[NSString stringWithFormat:@"%C Line n", (unichar) 0x2022];
  • alignmentの場合、アラートビューのサブビューを反復処理し、どのサブビューがUILabelのサブクラスであるかを特定します。次に、_label.textAlignment = NSTextAlignmentLeft_を使用して、ラベルのテキスト配置を左揃えに変更します。
  • all thisを実行した後、_[alert show];_を呼び出すことができます。
31
pasawaya

左揃え:

 NSArray *subviewArray = alert.subviews;
for(int x = 0; x < [subviewArray count]; x++){

    if([[[subviewArray objectAtIndex:x] class] isSubclassOfClass:[UILabel class]]) {
        UILabel *label = [subviewArray objectAtIndex:x];
        label.textAlignment = UITextAlignmentLeft;
    }

アラートビューの背後に赤い背景を表示するには:

alert.backgroundColor=[UIColor redColor];
4
JSA986

通常の/ではなく\を使用してください。

alt +シフト+7(私のキーボード上)

\ n

それはそれをする必要があります。 :-)

2
hEgg

新しい行とテキストの配置については、@ qegal'sの回答を優先しますが、色を変更したり、アラートビューをカスタマイズしたりする場合は、1つ取得しました。システムのアラートビューの代わりに使用するのに最適なクラス this をチェックしてください。これは間違いなく機能します。それでも、配置と箇条書きを含む複数行のメッセージを取得するのに役立ちます。

使用に問題がある場合は、助けを求めてください。きっとお手伝いします。

ハッピーコーディング:)

1
The iOSDev

メッセージに\nを挿入すると、新しい行を作成できます。例えば:

@"line 1.\nline 2,\nline 3"
1