Saturday, June 8, 2013

UITableViewCell UITableViewCellEditingStyleInsert example in Objective C (iOS).


UITableViewCell UITableViewCellEditingStyleInsert

Cell Editing Style
The editing control used by a cell.

typedef enum {
UITableViewCellEditingStyleNone,
UITableViewCellEditingStyleDelete,
UITableViewCellEditingStyleInsert
} UITableViewCellEditingStyle;

Constants
UITableViewCellEditingStyleNone
The cell has no editing control. This is the default value.
UITableViewCellEditingStyleDelete
The cell has the delete editing control; this control is a red circle enclosing a minus sign.
UITableViewCellEditingStyleInsert
The cell has the insert editing control; this control is a green circle enclosing a plus sign.

Discussion of [UITableViewCell UITableViewCellEditingStyleInsert]
You use them to set the value of the editingStyle property.

UITableViewCell UITableViewCellEditingStyleInsert example.
- (IBAction)editButtonPressed
{
    //toggle editing on/off...
    [tableView setEditing:(!tableView.editing) animated:YES];
}

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView
    editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (indexPath.row == 0)
        return UITableViewCellEditingStyleInsert;
               //gives green circle with +
    else
        return UITableViewCellEditingStyleDelete;
               //or UITableViewCellEditingStyleNone
}

Example of [UITableViewCell UITableViewCellEditingStyleInsert].
- (void)tableView:(UITableView *)tableView
    commitEditingStyle:(UITableViewCellEditingStyle)editingStyle
    forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (editingStyle == UITableViewCellEditingStyleInsert)
    {
        //handle insert...
    }
    else
    {
        //handle delete...
    }
}

UITableViewCell UITableViewCellEditingStyleInsert example.

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
    NSArray* items = ...;

    if( indexPath.row == [items count] )
        return UITableViewCellEditingStyleInsert;

    return UITableViewCellEditingStyleDelete;
}

End of UITableViewCell UITableViewCellEditingStyleInsert example article.