TableView单元格内容在编辑模式iOS 6中没有移位

时间:2013-03-28 09:33:00

标签: uitableview ios6 autolayout editmode

我有UITableViewCell的子类。这是我的设置

enter image description here

我使用过Autolayout。现在当用户在单元格上滑动时,我可以看到“删除”按钮,但它与我的右侧图像视图重叠。细胞内容没有变化。这是我的代码

    #pragma mark - Table view data source

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

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [self.recentItemsArray count];
}

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

    if (cell == nil)
    {
        NSArray *cellArray = [[NSBundle mainBundle] loadNibNamed:@"ProductCell" owner:self options:nil];
        cell=[cellArray objectAtIndex:0];
        tableView.separatorColor = [UIColor clearColor];
    }

    Product *product = [self.recentItemsArray objectAtIndex:indexPath.row];
    cell.lblProductName.text = product.name;
    cell.lblNoOfBids.text = [NSString stringWithFormat:@"%@",product.numberOfBids];
    cell.lblBuyItNowPrice.text = [NSString stringWithFormat:@"%@ %@",CURRENCY_TYPE,product.buyItNowPrice];
    cell.lblTimeRemaining.text = product.timeRemaining;
    cell.lblLatestBid.text = [NSString stringWithFormat:@"%@ %@",CURRENCY_TYPE,product.currentBidPrice];
    cell.lblUserName.text = product.sellerName;

    return cell;
}

#pragma mark - Table view delegate

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return 110.0f;
}

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
    return YES;
}

// Override to support editing the table view.
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (editingStyle == UITableViewCellEditingStyleDelete) {
        //add code here for when you hit delete
        [CommonUtils showAlertWithTitle:@"Alert" andMessage:@"Do you want to delete this product?"];
    }
}

我在Stackoverflow上看到了几个question,但没有得到任何解决方案。

任何人都可以告诉我我做错了什么吗?任何形式的帮助都非常感谢。感谢

更新:: 我尝试以编程方式添加UIImageView。静止图像视图没有转移

    - (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];

        UIImageView* imageView = [[UIImageView alloc]initWithFrame:CGRectMake(260, 0, 50, 60)];
        imageView.backgroundColor = [UIColor yellowColor];
        [cell.contentView addSubview:imageView];


        UIImageView* imageView1 = [[UIImageView alloc]initWithFrame:CGRectMake(20.0, 0, 60, 60)];
        imageView1.backgroundColor = [UIColor redColor];
        [cell.contentView addSubview:imageView1];
    }

    //cell.textLabel.text = @"ABC";
    // Configure the cell...

    return cell;
}

enter image description here

1 个答案:

答案 0 :(得分:0)

发生在我身上。验证某些单元属性是否与TableView所在的视图中的其他属性具有相同的名称。