如何隐藏UITableView空行,swift

时间:2015-11-12 07:35:52

标签: ios swift uitableview

如何从这些行中隐藏UITableView的行行,未使用的行。例如,查看屏幕截图:

enter image description here

我可以只显示4行并隐藏其他未使用的行吗?所以,我只显示4行,进一步显示白色屏幕,而不是现在的行

4 个答案:

答案 0 :(得分:2)

请在tableFooterView

上将CGRectZero框设置为viewDidLoad
override func viewDidLoad() {

super.viewDidLoad()

// set as your tableFooterView frame as CGRectZero it hides the empty rows
self.tableView.tableFooterView = UIView(frame: CGRectZero)

self.tableView.backgroundColor = UIColor.clearColor()

}

答案 1 :(得分:1)

//Obj-c code    
    TableName.tableFooterView = [[UIView alloc]initWithFrame:CGRectZero];
//Swift code
    tableView.tableFooterView = UIView(frame: .zero)

使用此代码隐藏额外的行行。

将此代码放入 ViewDidLoad ViewWillApper

答案 2 :(得分:0)

  • Objective-C中的Gave片段在Swift中应该是相同的

在viewDidLoad方法中包含

self.localTableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];

在viewDidLayoutSubViews中包含

-(void)viewDidLayoutSubviews
{
    if ([self.localTableView respondsToSelector:@selector(setSeparatorInset:)]) {
        [self.localTableView setSeparatorInset:UIEdgeInsetsZero];
    }

    if ([self.localTableView respondsToSelector:@selector(setLayoutMargins:)]) {
        [self.localTableView setLayoutMargins:UIEdgeInsetsZero];
    }
}

在tableView中,willDisplyCell委托方法包括

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
        [cell setSeparatorInset:UIEdgeInsetsZero];
    }

    if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
        [cell setLayoutMargins:UIEdgeInsetsZero];
    }
}

这里localTableView是从故事板中取出的出口

答案 3 :(得分:0)

// Swift 3

Newtonsoft.Json.JsonConvert.SerializeObject(myobject);