如何删除UITableView中的额外行?

时间:2012-10-06 06:55:43

标签: iphone uitableview xcode4

我有UITableView我正在使用NSMutableArray加载它。我希望删除多余的行,即我只想将array中的对象的计数数量显示为行。如果我在array中有3个对象,我只想在UITableView中显示3行。但我可以看到除了{{中的对象的计数数量外,还添加了额外的空行。 1}}。我怎么能这样做?

7 个答案:

答案 0 :(得分:5)

使用它可能对您有所帮助:)

 - (float)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
        // This will create a "invisible" footer
        return 0.01f;
    }

    - (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
    {
        // To "clear" the footer view
        return [[UIView new] autorelease];
    }

或使用它.....

     self.tblView=[[UITableView alloc] initWithFrame:CGRectMake(0,0,320,370) style:UITableViewStylePlain];
    self.tblView.delegate=self;
    self.tblView.dataSource=self;
    [self.view addSubview:self.tblView];

    UIView *v = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 10)];
    v.backgroundColor = [UIColor clearColor];
    [self.tblView setTableHeaderView:v];
    [self.tblView setTableFooterView:v];
    [v release];

答案 1 :(得分:1)

如果你想达到这样的目的:

  

enter image description here

然后查看本教程: http://shiki.me/blog/removing-extra-separator-lines-for-empty-rows-in-uitableview

  

要从空行中删除行,您只需为tableFooterView提供一个值。一个空的UIView可以正常工作:

- (void) viewDidLoad
{
  [super viewDidLoad];
  self.tableView.tableFooterView = [[UIView alloc] init];
}

答案 2 :(得分:0)

您可以向UITableView添加一个空页脚视图,该视图应隐藏任何其他“空白”表格视图行。

答案 3 :(得分:0)

降低UITableView的高度,当您想要隐藏额外的行并且只想显示特定的行时,它会起作用。使表格的高度动态化。

请参阅此链接Decrease Height

答案 4 :(得分:0)

您可以通过以下几种方式完成此操作:

1) You can change your TableView type to UITableViewStyleGrouped
2) Either you can add a UIView in the Footer of UITableView keeping the UIView height to Zero. Incase if using UITableViewStylePlain

因此,它取决于您希望如何实现它的TableView类型。

答案 5 :(得分:0)

像这样:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {

   CGFloat number = 0.0;

   if (indexPath.row <= [yourArray count]) {

   number = 50.0; //or whatever value

 }
   return number;
}

答案 6 :(得分:0)

还有解决方案。

您可以将tableview的高度设置为数组中的计数。

例如,它将是[array count]*[tableviewcell heigth]

希望这可以帮助你......