2012-05-24 2 views
2

Здравствуйте, друзья это мой кодUIAlertView Выпуск

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]; 

я получить из положить, как это! [Введите описание изображения здесь]

enter image description here

но ineed нравится ниже!

enter image description here

вписатьтся дать мне рекомендации

Thax в advence

+0

Странно, ваше форматирование кажется правильным, и если я правильно помню, он также должен работать. На всякий случай попробуйте использовать '[NSString stringWithFormat: @" Продолжить \ nShopping "]' –

+0

sry i был опробован, но его не работает –

+0

Хмм. Несколько месяцев назад у меня была аналогичная проблема. Возможно, я переключился на использование UIActionSheet, но не уверен. –

ответ

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]; 

Вы можете использовать его в любом случае ....

+0

супер его рабочий –

1
UIAlertView

не поддерживает кнопки многоканальный. Один из вариантов заключается в том, чтобы просто использовать «Продолжить» вместо «Продолжить покупку» в качестве названия кнопки, иначе вам придется использовать компонент пользовательского вида просмотра, например. CODialog (возможно, вам придется немного настроить его, чтобы позволить многострочные кнопки, но это должно быть легко).

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] который по существу тот же.

0

Я думаю, вы можете попробовать установить свойство numOfLine на ярлык на кнопке. Но я не знаю, будет ли это яблоко.

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]; 
+0

awsome it first try working –

+0

его рабочий симулятор не в полете –