2

これは私のコードです

 UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Added to Cart" message:@"Some items are added for time being!" delegate:self cancelButtonTitle:@"View Cart" otherButtonTitles:@"Continue \n Shopping", nil];
alert.tag = 20;
[alert show];

次のような出力が得られます。
ここに画像の説明を入力

私はこのようにする必要があります:
ここに画像の説明を入力

4

4 に答える 4

2

私はあなたのための手動の解決策を持っています。しかし、それは良い解決策ではないと思います:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Added to Cart" message:@"Some items are added for time being!" delegate:self cancelButtonTitle:@"View Cart" otherButtonTitles:@"", nil];

    UILabel *buttonTitle = [[UILabel alloc] initWithFrame:CGRectMake(148, 102, 125, 40)];
    buttonTitle.text = @"Continue Shopping";
    buttonTitle.font = [UIFont boldSystemFontOfSize:15];
    buttonTitle.textColor = [UIColor whiteColor];
    buttonTitle.textAlignment = UITextAlignmentCenter;
    buttonTitle.backgroundColor = [UIColor clearColor];
    buttonTitle.numberOfLines = 2;
    [alert addSubview:buttonTitle];
    alert.tag = 20;
    [buttonTitle release];
    [alert show];

とにかく使える……。

于 2012-05-24T11:33:09.057 に答える
1

UIAlertView複数行ボタンをサポートしていません。ボタンのタイトルとして「ショッピングを続ける」の代わりに「続ける」を使用することも 1 つのオプションです。ボタンですが、簡単なはずです)。

于 2012-05-24T10:49:32.440 に答える
0
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Added to Cart" message:@"Some items are added for time being!" delegate:self cancelButtonTitle:@"View Cart" otherButtonTitles:@"Continue \n Shopping", nil];
alert.tag = 20;
[[[alert buttons] objectAtIndex:1] setLineBreakMode:UILineBreakModeWordWrap];
[alert show];

このコードは、まさに必要なことを実行します。ただし、注意してください

  1. - [UIAlertView buttons]文書化されていません
  2. - [UIButton setLineBreakMode]非推奨です。ただし、次のように置き換えることができます

    [button.titleLabel setLineBreakMode]これは本質的に同じです。

于 2012-05-24T10:51:42.760 に答える
0

ボタンにラベルを付けるためにnumbersOfLineプロパティを設定してみることができると思います。しかし、私はアップルがそれを証明するかどうかわかりません。

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Added to Cart" message:@"Some items are added for time being!" delegate:self cancelButtonTitle:@"View Cart" otherButtonTitles:@"Continue \n Shopping", nil];
NSArray *subviewsArray = [alert subviews];
    for (UIView *subview in subviewsArray) {
        if ([subview isKindOfClass:[UIButton class]]) {
            NSArray *btnSubviews = [subview subviews];
            for (UIView *btnSubview in btnSubviews) {
                if ([btnSubview isKindOfClass:[UILabel class]]) {
                    UILabel *title = (UILabel *)btnSubview;
                    title.numberOfLines = 2;
                }
            }
        }
    }
alert.tag = 20;
[alert show];
[alert release];
于 2012-05-24T10:51:44.787 に答える