2017-05-29 2 views
0

Ich setze eine Beschriftung innerhalb der Hintergrundansicht einer leeren Tabellenansicht, die das Etikett in der Mitte der Tabellenansicht platziert.Rahmen von UITableView Hintergrundansicht anpassen?

Ich möchte dieses Label ein wenig nach oben verschieben, so dass es in der Nähe der Spitze der Tabelle Ansicht, aber der folgende Code nicht funktioniert:

UILabel *messageLbl = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, self.tableView.bounds.size.width, 20)]; 

messageLbl.text = @"NO REGISTRATIONS FOUND"; 
messageLbl.font = [UIFont fontWithName:@"Sansation-Bold" size:20.0f]; 
messageLbl.textColor = [UIColor lightGrayColor]; 
messageLbl.textAlignment = NSTextAlignmentCenter; 
[messageLbl sizeToFit]; 

//set back to label view 
self.tableView.backgroundView = messageLbl; 
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; 
self.tableView.backgroundView.frame = CGRectMake(0, 0, self.tableView.bounds.size.width, 100); 
+0

Wenn Sie messageLbl zu TableHeaderView statt Tabelle backgroundView hinzufügen, kommt es als Header der TableView. Es kommt oben direkt unter der Navigationsleiste. –

+0

Ich möchte das Etikett etwas nach oben verschieben, sodass es in der Nähe der Tischansicht liegt. Es ist eine verwirrende Linie. Du willst nur, dass das Label in der Nähe der Spitze ist und es ist nicht ein bisschen. :) –

Antwort

3

Eine weitere einfache Lösung hinzuzufügen, ist hinzuzufügen, Ihre messageLbl-tableHeaderView:

UILabel *messageLbl = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, self.tableView.bounds.size.width, 50)]; 

messageLbl.text = @"\n\n NO REGISTRATIONS FOUND"; 
messageLbl.font = [UIFont fontWithName:@"Sansation-Bold" size:20.0f]; 
messageLbl.textColor = [UIColor lightGrayColor]; 
messageLbl.textAlignment = NSTextAlignmentCenter; 
messageLbl.numberOfLines = 0; 

[messageLbl sizeToFit]; 

//set back to label view 
self.tableView.tableHeaderView = messageLbl; 

enter image description here

+0

Das ist, was ich am Ende ging, arbeitete großartig –

+0

@AdamG Happy Codierung :-) –

1

Schnell Lösung ist nur durch Zugabe von \n bei Das Ende des Textes und setzen Sie keine Zeilen auf 0. Versuchen Sie, diese

messageLbl.numberOfLines = 0; 
messageLbl.text = @"NO REGISTRATIONS FOUND\n\n\n\n"; 
0

Sieht aus wie Sie die Y-Achse hinter Navigationsleiste verbargen es versucht, durch eine Y-Achse Höheneinstellung & Vergessen Sie nicht SubView

UILabel *messageLbl = [[UILabel alloc] initWithFrame:CGRectMake(0, 100, self.tableView.bounds.size.width, 20)]; 
messageLbl.text = @"NO REGISTRATIONS FOUND"; 
messageLbl.font = [UIFont fontWithName:@"Sansation-Bold" size:20.0f]; 
messageLbl.textColor = [UIColor lightGrayColor]; 
messageLbl.textAlignment = NSTextAlignmentCenter; 
[messageLbl sizeToFit]; 

//set back to label view 
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; 
[self.view addSubview: messageLbl]; 
Verwandte Themen