我在空表视图的背景视图中设置了一个标签,该标签将标签放在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);
答案 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
答案 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];