调整UITableView背景视图的框架?

Ada*_*m G 2 objective-c uitableview ios

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

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

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);
Run Code Online (Sandbox Code Playgroud)

Ima*_*Ali 5

另一个简单的解决方案是将您添加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;
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明