2017-05-29 81 views
0

我在一個空表視圖的背景視圖中設置了一個標籤,它將標籤放在tableview的中間。調整UITableView背景視圖的框架?

我想移動該標籤了一點,所以它的附近表視圖的頂部,但是下面的代碼不工作:只是在加入\n

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

如果將messageLbl添加到tableHeaderView而不是表backgroundView,它將作爲TableView的標題。它位於導航欄的下方。 –

+0

我想將標籤向上移一點,使其靠近桌子視圖的頂部。這是令人困惑的線路。你只是希望這個標籤靠近頂部,這是沒有一點。:) –

回答

3

另一種簡單的解決方案是增加您messageLbltableHeaderView

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

這就是我最終去的,很好的工作 –

+0

@AdamG快樂的編碼:-) –

1

快速解決方案結束文本並將行號設置爲0。試試這個

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

看起來你藏身在Y軸上的背後導航條 通過設置一些Y軸高度嘗試&不要忘記添加子視圖

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