如何在iphone中的Uitableview中修复表中的行

时间:2011-06-02 08:45:21

标签: iphone uitableview uinavigationcontroller

我是小基本模块。我在这个模块中有3个屏幕。第一个屏幕是欢迎消息显示。第二个屏幕是表格视图,其中3行与标题联系。每当用户选择任何行时,将为所选行打开全文。最后一个屏幕包含一个BACK按钮,它将返回到第二个屏幕(在tableview屏幕上)。

直到最后一个屏幕,我都做到了这一切。但是,当我点击后退按钮时,我将进入桌面视图屏幕,但我看到在模拟器上显示超过3行。

我在按钮点击功能上写了这个代码,用于支持第二个屏幕(表格视图屏幕)

...

 MyViewController *History_Back = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:[NSBundle mainBundle]];

[window addSubview:History_Back.view];  

[self.view addSubview:History_Back.view];

...

在TableView实现类中,我在viewload函数中定义它,如下所示..

-(void)viewDidLoad {
    NSLog(@"::::::::::::::");
      tableList = [[NSArray alloc]initWithObjects:@"A",@"B",@"C",nil];
    [super viewDidLoad];
}

我想只显示3排。我应该在哪里修改代码?

我的tableview coe就在这里。

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];

    }

    cell.textLabel.text=[tableList objectAtIndex:[indexPath row]];
        NSLog(@"##############");
    return cell;
}

1 个答案:

答案 0 :(得分:0)

默认情况下,UITableView将显示与tableView高度允许的行数相同的行(即使单元格的内容为空)。为了不显示超过3行,您有两个解决方案:

  • 要么将表格视图高度调整到适当的高度
  • 或者您可以在tableview的定义中添加tableView.separatorStyle = UITableViewCellSeparatorStyleNone;。这意味着您必须在UITableViewCell设计...
  • 中添加自己的自定义分隔符