2017-05-29 68 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];