次のような掲示板リストのような数行で左揃えのUIAlertViewを作成することに興味があります。
これが私がこれまでに持っているものです:
alert = [[UIAlertView alloc] initWithTitle: @"How to use buttons"
message: @"line 1. line 2, line 3 "
delegate: nil
cancelButtonTitle: @"OK"
otherButtonTitles: nil];
また、アラートビューの色を赤に変更したいと思います。
箇条書きは、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;
}
}
_
要約すると:
[NSString stringWithFormat:@"%C Line n", (unichar) 0x2022];
。UILabel
のサブクラスであるかを特定します。次に、_label.textAlignment = NSTextAlignmentLeft
_を使用して、ラベルのテキスト配置を左揃えに変更します。[alert show];
_を呼び出すことができます。左揃え:
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];
通常の/ではなく\を使用してください。
alt +シフト+7(私のキーボード上)
\ n
それはそれをする必要があります。 :-)
新しい行とテキストの配置については、@ qegal'sの回答を優先しますが、色を変更したり、アラートビューをカスタマイズしたりする場合は、1つ取得しました。システムのアラートビューの代わりに使用するのに最適なクラス this をチェックしてください。これは間違いなく機能します。それでも、配置と箇条書きを含む複数行のメッセージを取得するのに役立ちます。
使用に問題がある場合は、助けを求めてください。きっとお手伝いします。
ハッピーコーディング:)
メッセージに\n
を挿入すると、新しい行を作成できます。例えば:
@"line 1.\nline 2,\nline 3"