在UITableView中添加数组首尾处的UIbutoton -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

在UITableView中添加数组首尾处的UIbutoton

2016-03-26 10:12:04 1648 1

问题:我要在UITableView中添加UIButton,并且只加在第一个和最后一个数组上,不知道应该怎么实现?我知道可以用tableFooterView添加按钮,但是不知道怎么样实现添加到指定数组位置中。请多多指教,谢谢

我的代码:

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

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil)
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }

    //Adding a UIButton in last row

    NSInteger lastSectionIndex = [editTable numberOfSections] - 1;
    NSLog(@"lastSectionIndex:%d",lastSectionIndex);

    // Then grab the number of rows in the last section
    NSInteger lastRowIndex = [editTable numberOfRowsInSection:lastSectionIndex] - 1;
    NSLog(@"lastRowIndex:%d",lastRowIndex);

    // Now just construct the index path
    NSIndexPath *pathToLastRow = [NSIndexPath indexPathForRow:lastRowIndex inSection:lastSectionIndex];
    NSLog(@"last index:%@",pathToLastRow);

    if (pathToLastRow.row == lastRowIndex) 
    {
        NSLog(@"row enters");

        checkButton1 = [UIButton buttonWithType:UIButtonTypeCustom];
        [checkButton1 setFrame:CGRectMake(200, 0, 168, 168)];
        [checkButton1 addTarget:self
                         action:@selector(customActionPressed:)
               forControlEvents:UIControlEventTouchDown];
        [checkButton1 setBackgroundImage:[[UIImage imageNamed:@"Up Arrow.jpg"] stretchableImageWithLeftCapWidth:0.0 topCapHeight:0.0] forState:UIControlStateNormal];
        editTable.tableFooterView = checkButton1;
        [cell addSubview:checkButton1]; 
    }

现在我可以在tableview的每个单元里面接受到Button。

取消 提交回答
全部回答(1)
  • 爵霸
    2019-07-17 19:15:31

    先修改if条件句,

    if ((lastSectionIndex == indexPath.section && lastRowIndex == indexPath.row ) || (indexPath.section == 0 && indexPath.row == 0 ))
    {

    然后就会这样:

        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        if (cell == nil)
        {
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
            UIButton *checkButton1 = [UIButton buttonWithType:UIButtonTypeCustom];
            checkButton1.tag = 100;//not recommended, I would suggest to use custom UITableViewCell class and add this button as subview inside its init method
            [checkButton1 setFrame:CGRectMake(200, 0, 168, 168)];
            [checkButton1 addTarget:self
                         action:@selector(customActionPressed:)
               forControlEvents:UIControlEventTouchDown];
            [checkButton1 setBackgroundImage:[[UIImage imageNamed:@"Up Arrow.jpg"] stretchableImageWithLeftCapWidth:0.0 topCapHeight:0.0] forState:UIControlStateNormal];
            [cell addSubview:checkButton1]; 
        }
    
       //Adding a UIButton in last row
       NSInteger lastSectionIndex = [editTable numberOfSections] - 1;
       NSLog(@"lastSectionIndex:%d",lastSectionIndex);
    
       // Then grab the number of rows in the last section
       NSInteger lastRowIndex = [editTable numberOfRowsInSection:lastSectionIndex] - 1;
       NSLog(@"lastRowIndex:%d",lastRowIndex);
    
       // Now just construct the index path
       NSIndexPath *pathToLastRow = [NSIndexPath indexPathForRow:lastRowIndex inSection:lastSectionIndex];
       NSLog(@"last index:%@",pathToLastRow);
    
       UIButton *checkButton1 = (UIButton *)[cell viewWithTag:100];//not recommended, I would suggest to use custom UITableViewCell class and add this button as subview inside its init method
       if ((lastSectionIndex == indexPath.section && lastRowIndex == indexPath.row ) || (indexPath.section == 0 && indexPath.row == 0 ))
        {
           checkButton1.hidden = NO;
        } else {
           checkButton1.hidden = YES;
        }
    0 0
相关问答

1

回答

从指定位置开始查找子字符串的位置和从后向前查找子字符串的位置的方法分别是什么呢?

2022-04-02 17:13:55 246浏览量 回答数 1

1

回答

重新排列数组

2020-02-08 13:19:40 230浏览量 回答数 1

1

回答

如何修剪数组中的所有字符串?

2020-02-06 23:21:17 194浏览量 回答数 1

1

回答

如何从数组中删除空白元素?

2020-01-16 14:41:46 205浏览量 回答数 1

1

回答

如何找到字符串数组中的字母位置?

2019-10-12 12:50:45 1900浏览量 回答数 1

1

回答

双引号内不用内插数组值吗

2016-06-07 16:11:18 1757浏览量 回答数 1

1

回答

在NSString的第一个逗号处删除字符

2016-03-26 10:25:55 1624浏览量 回答数 1

1

回答

输出一个连续的字符串中间的位置我想换行怎么实现?

2016-03-20 16:29:40 1673浏览量 回答数 1

1

回答

编写程序,输入字符串S1和S2 以及插入位置n,在字符串S1中的指定位置n处插入字符串S2。

2016-03-09 10:54:49 6634浏览量 回答数 1

1

回答

截取出指定字符两边的字符串

2016-02-20 11:47:40 1589浏览量 回答数 1
+关注
文章
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载