使UITableViewHeaderFooterView不粘

时间:2015-01-09 07:53:58

标签: ios objective-c uitableview ios7 ios8

我对所有细胞都有一个共同的页脚,我正在设置

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section

我知道默认情况下,页脚在UITableView的底部是粘性的,我不希望页脚粘在桌子的底部,实现这个目的的最佳方法是什么?

我知道的一种方法是在那里添加额外的行和显示页脚,但我正在寻找比这更清晰的方法。

任何人都可以帮我吗?

3 个答案:

答案 0 :(得分:7)

您可以将UITableViewStyle设为UITableViewStyleGrouped

使用此初始化程序。

- (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style;

您可以在故事板上设置此内容。

enter image description here

答案 1 :(得分:2)

您可以创建一个额外的uitableviewcell并附加在tableview的最后一个。在numberOfRowsInSection:方法中,您可以添加一个1,如

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
        return [objectArray count]+1 ;
 }
tableView:cellForRowAtIndexPath:方法

中的

 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
         if(indexpath.row  == [objectArray count]) {
          //create footer cell
        }
        else {
        //show normal cell
       }
    }

答案 2 :(得分:0)

如果您的页脚碰巧有静态高度且未更改contentInsets,则可以尝试此操作(假设页脚高度为44):

self.tableView.contentInset = UIEdgeInsetsMake(0, 0, -44, 0)