2016-03-08 34 views
3

我已经采取了部分跟标题让说如何创建自定义单元格与目标C标签和文本框

周一,周二,周三......周日etc.also我加入后,“+”按钮部标题&加入作用该按钮

下面是代码和屏幕截图。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{ 
    // Return the number of sections. 
    return [SectionArray count]; 
} 
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ 
    if (section ==0) { 
     return 0; 
    }else{ 
      return 3; 
    } 
} 
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section 
{ 
    return [SectionArray objectAtIndex:section]; 
} 
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { 
    CGRect frame = tableView.frame; 
    UIView *headerView; 
    if(section == 0 || section == 7) { 

    }else{ 
    UIButton *addButton=[UIButton buttonWithType:UIButtonTypeContactAdd]; 
    addButton.frame =CGRectMake(frame.size.width-60, 5, 50,30); 
    addButton.titleLabel.text = @"+"; 
     addButton.tag =section; 
    // addButton.backgroundColor = [UIColor grayColor]; 
     [addButton addTarget:self action:@selector(AddTimeSlot:) forControlEvents:UIControlEventTouchUpInside]; 
    UILabel *title = [[UILabel alloc] initWithFrame:CGRectMake(30, 10, 100, 30)]; 
    title.text = [SectionArray objectAtIndex:section]; 

    headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, frame.size.width, frame.size.height)]; 
    [headerView addSubview:title]; 
    [headerView addSubview:addButton]; 
    } 
    return headerView; 

} 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 

    NSString *cellIdent = @"cell"; 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdent]; 

    if(cell == nil){ 

     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdent]; 
    } 
    return cell; 
} 

this is i have made format of design

现在我要创建当我点击“+”按钮,电池,所以请帮助我。

+0

解释清楚你的问题。 – Chathurka

+0

嗨chathurka, 我已经添加在表视图部分按钮和我那个按钮我要添加表格单元格为特定部分 –

回答

4

你可以做如下,

首先,你必须使用的,将被动态操纵的数据源的数组。

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ 
    if (section ==0) { 
     return 0; 
    }else{ 
     return numberOfRowNeedToDisplay; //Take global int variable 
    } 
} 

在您的按钮操作AddTimeSlot:

-(void)addTimeSlot:(id)sender { 

//If you want to add cell to section 
NSMutableArray *arrayIndexPathsToBeAdded = [[NSMutableArray alloc] init]; 

    for (int i = 0; i < <numberOfCellsYouWantToAdd>; i++) { 

     [arrayIndexPathsToBeAdded addObject:[NSIndexPath indexPathForRow:i inSection:view.tag]]; 

    } 

    numberOfRowNeedToDisplay = <numberOfCellsYouWantToAdd>; 

    [self.tableView beginUpdates]; 
    [self.tableView insertRowsAtIndexPaths:arrayIndexPathsToBeAdded withRowAnimation:UITableViewRowAnimationRight]; 

    [self.tableView endUpdates]; 

//If you want to remove cells 
NSMutableArray *arrayIndexPathsToBeRemoved = [[NSMutableArray alloc] init]; 

    for (int i = 0; i < <numberOfCellsYouWantToRemove>; i++) { 
     [arrayIndexPathsToBeRemoved addObject:[NSIndexPath indexPathForRow:i inSection:sectionIndexToBeExpanded]]; 
    } 

    numberOfRowNeedToDisplay = <numberOfCellsYouWantToRemove>; 

    [self.tableView beginUpdates]; 
    [self.tableView deleteRowsAtIndexPaths:arrayIndexPathsToBeRemoved withRowAnimation:UITableViewRowAnimationLeft]; 

} 

这是我做了:

enter image description here

+0

嗨巴拉特, 感谢您的回复点击.....它的工作原理。 –

+1

您应该将答案标记为已接受,因为它的工作原理@PoojaBorkar –

0

请阅读评论文字。

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ 

    /** should be change in dynamically 
    maintain array for every section rows 
    return row count accordint to section 
    **/ 
} 

#pragma mark - Private methods 

- (void)AddTimeSlot:(UIButton *)sender { 

    int sectionNo = sender.tag; 
    // Get you section rowArray(DATASOURCE) and insert you detaisl 
    // then add UI 

    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0]; 

    [tableView beginUpdates]; 
    [tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationNone]; 
    [tableView endUpdates]; 
} 
相关问题