调整UITableView背景视图的框架?

时间:2017-05-29 04:43:55

标签: ios objective-c uitableview

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

我想稍微移动一下这个标签,所以它靠近表格顶部,但下面的代码不起作用:

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

3 个答案:

答案 0 :(得分:5)

另一个简单的解决方案是将class CustomCollectionViewCell: UICollectionViewCell, UITableViewDelegate, UITableViewDataSource { var passDelegate: PassData? //Your other methods func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { //Pass whatever data that you want to pass self.passDelegate?.performSegue(with: array[indexPath.row]) } } 添加到messageLbl

tableHeaderView

enter image description here

答案 1 :(得分:1)

快速解决方案只需在文本末尾添加\n,并将行号设置为0。试试这个

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

答案 2 :(得分:0)

看起来你正在隐藏导航栏后面的Y轴 通过设置一些Y轴高度来测试它。别忘了添加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];