Saturday, June 8, 2013

UITableViewCell UITableViewCellEditingStyleNone example in Objective C (iOS).


UITableViewCell UITableViewCellEditingStyleNone

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 UITableViewCellEditingStyleNone]
You use them to set the value of the editingStyle property.

UITableViewCell UITableViewCellEditingStyleNone example.
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
    return YES;
}
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
    return UITableViewCellEditingStyleNone;
}
- (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath {
    return NO;
}
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
    return YES;
}
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath{

}

Example of [UITableViewCell UITableViewCellEditingStyleNone].
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath

if (selectionPath.row == indexPath.row)
    {
        return UITableViewCellEditingStyleDelete;
    }
    else
    {
        return UITableViewCellEditingStyleNone;    
    }
}

UITableViewCell UITableViewCellEditingStyleNone example.
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
// No editing style if not editing or the index path is nil.
if (!indexPath) return UITableViewCellEditingStyleNone;

// No editing style if the tableView has no cells.
if ([self.array count] == 0) return UITableViewCellEditingStyleNone;

// If tableView is not editing, then return delete button.
if (tableView.editing == NO) return UITableViewCellEditingStyleDelete;

// If tableView is editing, then return delete button too.
if (tableView.editing == YES) return UITableViewCellEditingStyleDelete;

// If none of the above are returned, then return \"none\".
return UITableViewCellEditingStyleNone;
}

End of UITableViewCell UITableViewCellEditingStyleNone example article.