18

次のような掲示板リストのような数行で左揃えの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];

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

4

5 に答える 5

31

箇条書きは、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」。
  • [NSString stringWithFormat:@"%C Line n", (unichar) 0x2022];弾丸のために。
  • 配置については、アラートビューのサブビューを繰り返し処理し、のサブクラスであるサブビューを特定しますUILabel。次に、を使用して、ラベルのテキストの配置を左揃えに変更しますlabel.textAlignment = NSTextAlignmentLeft
  • これをすべて行った後、を呼び出すことができます[alert show];
于 2012-07-20T00:40:05.353 に答える
4

左揃え:

 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];
于 2012-07-20T11:07:57.457 に答える
2

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

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

\ n

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

于 2013-05-25T19:16:14.517 に答える
1

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

@"line 1.\nline 2,\nline 3"
于 2012-07-20T00:40:10.577 に答える
1

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

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

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

于 2012-07-20T09:49:48.903 に答える