2013-08-20 45 views
0

我在添加最后一个单元格行到我的tableView时遇到了这个问题。 有人可以告诉我最后一行出现时我的代码出了什么问题,但当表格向下滚动时,它也会出现在其他地方。任何帮助将不胜感激,谢谢。这里是我的代码:在tableView中添加最后一行单元格(不是sqlite表的一部分)

@interface ViewOrderViewController : UIViewController < UITableViewDataSource, UITableViewDelegate> { 
    IBOutlet UITableView *tabView; 
} 


-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 
    return 1; 
} 

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    return [appDelegate.vieworderArray count] + 1; 
} 

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

if(row == [appDelegate.vieworderArray count]) { 
    cell.textLabel.text = [NSString stringWithFormat:@"extra cell"]; 
}else{    
    Vieworder *vieworderObj = (Vieworder *)[appDelegate.vieworderArray objectAtIndex:indexPath.row]; 

    NSMutableString *mcmenuNameQuantity = [NSMutableString stringWithFormat:@"%@ X %i", vieworderObj.mcmenu_name, vieworderObj.mcmenu_quantity]; 
    UILabel *mcmenuLabel = [[UILabel alloc] initWithFrame:CGRectMake(45, 0, 200, 25)]; 

    [mcmenuLabel setFont:[UIFont systemFontOfSize:13.0f]]; 
    [mcmenuLabel setText:mcmenuNameQuantity];  
    UILabel *mcmenuPricexquantity = [[UILabel alloc] initWithFrame:CGRectMake(213, 0, 60, 25)]; 
    [mcmenuPricexquantity setFont:[UIFont systemFontOfSize:12.0f]]; 
    mcmenuPricexquantity.textAlignment = NSTextAlignmentRight; 
    NSMutableString *mcmenuPriceQuantityString = [NSMutableString stringWithFormat:@"%0.2f", vieworderObj.mcmenu_total_price]; 
    mcmenuPricexquantity.numberOfLines = 2; 
    [mcmenuPricexquantity setText:mcmenuPriceQuantityString]; 

    UIButton *deleteButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
    deleteButton.frame = CGRectMake(12.0f, 0.0f, 25.0f, 25.0f); 
    deleteButton.tag = indexPath.row; 
    UIImage* imageDelete = [[UIImage alloc] init]; 
    imageDelete = [UIImage imageNamed:[NSString stringWithFormat:@"vieworder_delete.png"]]; 
    [deleteButton setImage:imageDelete forState:UIControlStateNormal] 
    [deleteButton addTarget:self action:@selector(performExpand:) forControlEvents:UIControlEventTouchUpInside]; 

    UIButton *editButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
    editButton.frame = CGRectMake(280.0f, 0.0f, 25.0f, 25.0f); 
    UIImage* imageEdit = [[UIImage alloc] init]; 
    imageEdit = [UIImage imageNamed:[NSString stringWithFormat:@"vieworder_edit.png"]]; 
    [editButton setImage:imageEdit forState:UIControlStateNormal]; 
    editButton.tag = indexPath.row; 
    [editButton addTarget:self action:@selector(buttonClicked2:) forControlEvents:UIControlEventTouchUpInside]; 

    [cell.contentView addSubview:deleteButton ]; 
    [cell.contentView addSubview:mcmenuLabel]; 
    [cell.contentView addSubview:mcmenuPricexquantity ]; 
    [cell.contentView addSubview:editButton ]; 
    [cell setSelectionStyle:UITableViewCellSelectionStyleNone]; 
}  
return cell; 

}

回答

0

先用简单的代码

[email protected][@"A",@"B",@"C",@"D",@"E",@"F",@"A",@"B",@"C",@"D",@"E",@"F",@"A",@"B",@"C",@"D",@"E",@"F",@"A",@"B",@"C",@"D",@"E",@"F",@"A",@"B",@"C",@"D",@"E",@"F",@"A",@"B",@"C",@"D",@"E",@"F"]; 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    return [arr count]+1; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:@"cell"]; 

    if (cell==nil) { 
     cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"]; 
    } 

    cell.textLabel.text=(indexPath.row==arr.count)[email protected]"End of Row":arr[indexPath.row]; 

    return cell; 
} 

如果工作再那么就应该有一些问题,你在哪里添加多个子视图细胞的其他条件.ContentView。

相关问题