如何在UITableView中显示设定的行数?

时间:2011-06-01 07:31:06

标签: iphone objective-c uitableview

如何在UITableView中显示设定的行数?

即如果我的数据源只有4个对象,那么我希望表格显示在那4行而没有任何空行。任何想法?

谢谢!

编辑:我对这个问题不太清楚。

所以这是我的表:http://i.stack.imgur.com/glkWZ.png .. 我想只显示3行而不是它下面的空白行。行数根据我的数据源而变化。 任何想法如何去做?

6 个答案:

答案 0 :(得分:3)

检查UITableView数据源protocol,您必须实现两种相关方法:

– numberOfSectionsInTableView:
– tableView:numberOfRowsInSection: 

第一个应该返回1,第二个应该返回4。

答案 1 :(得分:3)

我想你必须改变你的桌子外观。正确设置numberOfSectionsInTableView:tableView:numberOfRowsInSection:方法后,您应该更改添加此行的viewDidLoad方法:

[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];

这样您就可以删除表格中的所有行。

如果您仍希望在行之间显示一条线,我建议您创建一个自定义UITableViewCell,或者构建一个添加子视图以模拟该行的标准线。例如。像这样的东西:

CGRect lineFrame = CGRectMake(0,cell.frame.size.height-1,cell.frame.size.width,1);
UIView *line = [[UIView alloc] initWithFrame:lineFrame];
line.backgroundColor = [UIColor colorWithRed:0.9 green:0.9 blue:0.9 alpha:1];
[cell.contentView addSubview:line];
[line release];

如果有帮助,请告诉我。

答案 2 :(得分:2)

如果要在tableview中保留一定数量的行而不显示额外的空白行,则可以在viewdidload函数中插入空的页脚视图。

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

答案 3 :(得分:1)

我实际上并不理解“在没有任何空行的情况下显示4行”的含义,但我想你问的只是一个简单的数据检索过程。我想数据源是NSarray。

-numberOfRowsInSection:(NSInteger)section{
  return [MyArray count];
}

-cellForRowAtIndexPath(NSIndexPath*)indexPath{
       NSInteger row=indexPath.row;
  cell.textLabel.Text=[MyArray objectAtIndex:row]
  return cell;
 }

我假设你知道应该在那些空白区域放什么。我只是写了主要观点。

答案 4 :(得分:-1)

试试这个

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
   {
   return 4
   }  

还实现了填充tableview所需的其余委托方法。

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

答案 5 :(得分:-2)

您可以使用此

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
   {
   return 4
   } 

或者你也是这样 检查UITableView DataSource协议,您必须实现两种相关方法:

  

- numberOfSectionsInTableView:
     -   的tableView:numberOfRowsInSection:

第一个应该返回1,第二个应该返回4。

或者你也可以使用 通过将表格样式更改为gourpby表,在视图中显示GroupBy表。使用