如何在tableView控制器中更改tableView的大小

时间:2013-02-28 10:18:38

标签: iphone xcode ipad uitableview

我创建了一个拆分视图控制器,我想减少表视图的大小,但它已经内置了tableView控制器,所以有没有办法从代码改变表的大小意味着我只有4行,它得到我想在splitViewController中减少tableViewController的大小。 在My Root控制器中,它是tableViewController所以解决这个问题的任何方法。

我还将图像附加在表格图像下方,因为它只有三个记录,所以我想要它只显示三行,它也显示空行。

enter image description here

2 个答案:

答案 0 :(得分:1)

您可以在UITableView的委托方法中设置每一行的高度:

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

设置好身高后,您需要reload你的桌子。

修改

- (void) viewDidLoad
{
  [super viewDidLoad];

  self.tableView.tableFooterView = [[[UIView alloc] init] autorelease];
}

答案 1 :(得分:0)

您可以添加此代码。这不会在UITableView

中显示额外的行
- (void) addFooter
{
    UIView *v = [[UIView alloc] initWithFrame:CGRectZero];

    [self.myTableView setTableFooterView:v];

    [v release];
}

您还可以通过此

设置行的高度
 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
  //Set height according to your condition
  if (indexPath.row == 0)
  {
  }
  else
  {
  }
}

然后您可以重新加载UITableView

[tableview reloadData];

编辑:addFooter

中调用函数- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section

你也可以添加

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