iOS App开发中使用及自定义UITableViewCell的教程

2020-01-15 14:42:22王振洲

复制代码
#pragma mark Table Delegate Methods 
- (NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath { 
    NSUInteger row = [indexPath row]; 
    return row; 
}
这里将第row行缩进row,如下图所示:

 

iOS,App开发,UITableViewCell

10、操纵行选择:
在@end之前添加代码:

复制代码
- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    NSUInteger row = [indexPath row];
    if (row%2 == 0) {
        return nil;
    }
    return indexPath; 
}
上面的方法在选择某行之前执行,我们可以在这个方法中添加我们想要的操作。这里,我们实现的是,如果选择的行号(从0开始计)是偶数,则取消选择。
在@end之前添加代码:
复制代码
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    NSUInteger row = [indexPath row]; 
    NSString *rowValue = [listData objectAtIndex:row]; 
    
    NSString *message = [[NSString alloc] initWithFormat: 
                         @"You selected %@", rowValue]; 
    UIAlertView *alert = [[UIAlertView alloc] 
                          initWithTitle:@"Row Selected!" 
                          message:message 
                          delegate:nil 
                          cancelButtonTitle:@"Yes I Did" 
                          otherButtonTitles:nil];