在tableview行中添加单元格

时间:2015-12-10 12:59:19

标签: ios objective-c uitableview cell

curent table row display

我有一个如图所示的tableview,当我按下任何按钮(sun,mon等)时,它会以类似的格式添加一个新行。我想在用户按下,开放时间,在同一行中添加一行(线条,文本开放时间和x按钮,如图中所示)。这可以是多个。提前谢谢。

#import "ViewController.h"

@interface ViewController () {
    NSMutableArray * dataSource;
}

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    dataSource = [[NSMutableArray alloc] initWithObjects:@"array", nil];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

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

- (WorkHoursCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *cellIdentifier = @"WorkHoursCell";
    WorkHoursCell *cell= [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
    if (cell==nil) {
        NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"WorkHoursCell" owner:self options:nil];
        cell = [topLevelObjects objectAtIndex:0];
    }
    cell.selectionStyle = UITableViewCellSelectionStyleNone;

    [cell.btnTapped addTarget:self action:@selector(sundayTapped:) forControlEvents:UIControlEventTouchUpInside];
    [cell.monTapped addTarget:self action:@selector(mondayTapped:) forControlEvents:UIControlEventTouchUpInside];

//    DayName *day = [dataSource objectAtIndex:indexPath.row];

    return  cell;
}

-(void)sundayTapped:(id)sender {
    CGPoint buttonPosition = [sender convertPoint:CGPointZero toView:self.tableView];
    NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:buttonPosition];

    NSMutableArray *tempArray = [[NSMutableArray alloc] init];
    [tempArray addObject:[NSIndexPath indexPathForRow:indexPath.row+1 inSection:0]];

    [dataSource insertObject:@"new row" atIndex:indexPath.row+1];

    [[self tableView] beginUpdates];
    [[self tableView] insertRowsAtIndexPaths:(NSArray *)tempArray withRowAnimation:UITableViewRowAnimationFade];
    [[self tableView] endUpdates];
}

1 个答案:

答案 0 :(得分:0)

以下是解决方案:

(1)准备一个数组,该数组将作为数组的数据源。

(2)每当用户按下任何按钮(周一,周二等)时,请准备一个包含日,开,关等信息的字典。

(3)您必须更新数据源,即用户每天添加一天。意味着在数组中添加字典。例如,如果用户添加了TUE,THU,MON,SUN。然后你的数组将包含四个字典。

(4)重新加载表格。基于此,您的数据将显示在单元格中。

在任何查询的情况下添加评论!!!