我在空表视图的背景视图中设置标签,该视图将标签放置在表视图的中间。

我想将标签向上移动一点,所以它在表格视图的顶部附近,但是下面的代码不起作用:

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

最佳答案

另一个简单的解决方案是将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;

ios - 调整UITableView背景 View 的框架?-LMLPHP

10-08 16:57