2012-08-13 15 views
6

Wie kann ich HUD mit mehreren Zeilen erstellen? Er ist mein Code, aber der Labeltext ist eine ZeileHUD mit mehreren Zeilen

HUD = [MBProgressHUD showHUDAddedTo:[[TTNavigator navigator] window] animated:YES]; 
HUD.customView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"noImage.png"]]; 
HUD.mode = MBProgressHUDModeCustomView; 
HUD.delegate = self; 
HUD.labelText = @"text1 \n text2"; 
[HUD hide:YES afterDelay:3]; 
+0

http://stackoverflow.com/a/15031656/1557383 u dies versuchen. Es hat für mich funktioniert. – vinny

Antwort

14

Verwendung detailsLabelText Verfahren, das heißt

HUD.detailsLabelText = @"your next line here" 

Sie den Stil mit detailsLabelFont ändern können.

+0

So clever! Mein Problem wurde perfekt gelöst! – Calios

+1

ab v1.0.0 (vielleicht sogar früher) detailsLabelText ist veraltet und es wird empfohlen, detailsLabel.text zu verwenden –

2

Nicht sicher, aber Sie müssen die MBProgressHUD.m Datei Code ändern. In der MBProgressHUD.m Datei gibt es eine Methode - (void)setupLabels. In dieser Methode wird ein Label erstellt. Machen Sie diese Beschriftung zu einem mehrzeiligen Etikett, indem Sie ihre Eigenschaft numberOfLines setzen.

Ex:

label.numberOfLines = 2;

Hoffe, es funktioniert ..

+0

Sind Sie sich über diese Funktion sicher? Ich habe es nicht in 'MBProgressHUD.m' – Luda

+0

Ya ich bin sicher ... Es ist in MBProgressHUD.m Datei – Maulik

+0

Bitte werfen Sie einen Blick in den printScreen http://i46.tinypic.com/2u5qpvl.png – Luda

6

Der einfachste Weg (Erweiterung auf Jon Madison Antwort):

hud.labelText = @"Your first line of text is"; 
hud.detailsLabelText = @"followed by your next line of text"; 
hud.detailsLabelFont = hud.labelFont;