在UITableView或UICollectionView的自定义cell中创建一button,在点击该按钮时知道该按钮所在的cell在UITableView或UICollectionView中的行数。就是cell的 indexPath.row,下面以UITableView为例:

有两种方法:
-(IBAction):(id)sender
{

1. 第一种方法,这个方便一点点,不用设置tag。

  
NSLog(@"MyRow:%d",[self.table
indexPathForCell:((TableViewCell*)[[sender  
superview]superview])].row);
 2. 第二种方法,这个需要加载cell时设置tag.不过也很方便。
   
NSLog(@"MyRow:%d",((TableViewCell*)[[sender
superview]superview]).tag);
   
}
   
在UITableViewDataSource的协议方法里需要添加的代码:
-(UITableViewCell *)tableView:(UITableView *)tableView
       
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
   
//删除cell.contentView中所有内容,避免以下建立新的重复
    int i =
[[cell.contentView subviews] count] - 1;
    for(;i
>= 0 ; i--)
    {
        
[[[cell.contentView subviews] objectAtIndex:i]
removeFromSuperview];
    }

//添加button
    UIButton
*but = [UIButton buttonWithType:UIButtonTypeCustom];
    [but
setBackgroundImage:[UIImage imageNamed:@"delete.png"]
forState:UIControlStateNormal];
    [but
setFrame:CGRectMake(280, 10, 30, 30)];
    [but
setAlpha:0.8];
    [but
addTarget:self action:@selector(del:)
forControlEvents:UIControlEventTouchUpInside];
   
[cell.contentView addSubview:but];
    //设置Tag为cell
对应的indexPath row
    for(id view
in subviews)
    {
        
if([view isKindOfClass:[UIButton class]])
        
{
            
[view setTag:[indexPath row]];
            
//[cell.contentView bringSubviewToFront:view];
        
}
    }
}
//Button事件
-(void)del:(id)sender
{
   
for(UITableViewCell *cell in visiblecells)
    {
       
if(cell.tag == button.tag)
    {
   
//button.tag就是对应的[indexPath.row

iOS 获取自定义cell上按钮所对应cell的indexPath.row的方法的更多相关文章

  1. IOS开发中UIBarButtonItem上按钮切换或隐藏实现案例

    IOS开发中UIBarButtonItem上按钮切换或隐藏案例实现案例是本文要介绍的内容,这个代码例子的背景是:导航条右侧有个 edit button,左侧是 back button 和 add bu ...

  2. 获取cell上按钮事件

    原由:点击cell上的按钮,无法获取button对应的cell位置 //获取按钮上层控件,也就是cell本身 AccountCell *cell= (AccountCell *)[按钮名称 super ...

  3. iOS-UITableView-处理cell上按钮事件(弹出警示框,页面跳转等)

    一. 目的: 实现UITableViewCell上按钮点击事件可以进行页面跳转. 二. 实现方法: 1. 用协议的方式的实现. 2. 需要自定义UITableViewCell. 三. 代码部分. ce ...

  4. iOS: 获取UITableViewCell上添加的子控件对应的cell

    一.简单介绍 UITableViewCell是UITableView的核心部分,我们在开发中因为功能的扩展经常需要自定义,以便在其上面添加子控件,例如button.label等.添加后获取这些子控件的 ...

  5. 制作自定义背景Button按钮、自定义形状Button的全攻略(转)

    在Android开发应用中,默认的Button是由系统渲染和管理大小的.而我们看到的成功的移动应用,都是有着酷炫的外观和使用体验的.因此,我们在开发产品的时候,需要对默认按钮进行美化.在本篇里,笔者结 ...

  6. UITbaleView上按钮的单选

    设置Id属性,标记是哪个cell @property (nonatomic,assign)NSInteger Id; 设置一个普通状态和选中状态图片不同的按钮 _choose = [[UIButton ...

  7. day05 Spring中自定义注解的用处-之获取自定义的Servie

    PS: 在RPC远程调用中,想要获取自定义的service的方法,就得自定义标签遍历拿到方法 PS:在spring中,两个最核心的 概念是aop和ioc,aop其实就是动态代理. ioc 就是解决对象 ...

  8. iOS 如何自定义UISearchBar 中textField的高度

    iOS 如何自定义UISearchBar 中textField的高度 只需设置下边的方法就可以 [_searchBar setSearchFieldBackgroundImage:[UIImage i ...

  9. iOS 点击cell上的按钮获取行数

    -(void)btnClick:(UIButton *)button{ UITableViewCell *cell = (UITableViewCell *)[[button superview] s ...

随机推荐

  1. Spring学习--通过注解配置 Bean (二)

    在 classpath 中扫描组件: 当在组件类上使用了特定的注解之后 , 还需要在 Spring 的配置文件中声明 <context:component-scan>: base-pack ...

  2. HDU5748---(记录每个元素的 最长上升子序列 nlogn)

    分析: 给一个序列,求出每个位置结尾的最长上升子序列 O(n^2) 超时 #include "cstdio" #include "algorithm" #def ...

  3. httpFS访问

    编辑文件httpfs-env.sh 执行sbin/httpfs.sh 执行命令curl -i "http://192.168.1.213:14000/webhdfs/v1?user.name ...

  4. bzoj 3224 裸平衡树

    裸的平衡树,可以熟悉模板用,写题写不出来的时候可以A以下缓解下心情. /************************************************************** P ...

  5. 【mysql优化】语句优化

    1.int型子查询陷阱 如下两个表: mysql> desc user; +----------+-------------+------+-----+---------+-------+ | ...

  6. python基础复习-1-1文件类型、变量、运算符、表达式

    文件类型: .py python源文件 由python解释器执行 .pyc python源码编译后生成的文件(字节代码) 编译方法: 源码文件中使用py_compile模块 import py_com ...

  7. python unittest 快速入门

    import unittest def add(x, y): return x + y class TestLearning(unittest.TestCase): def setUp(self): ...

  8. snakes

    原地址 讨论区 Changing 算法一 我会随机! 由于我忘了设置多组数据,期望得分0至100. 算法二 我会模拟! 复杂度\(O(t^2)\),期望得分60. 但是很多人忘记题目给出的是环形-- ...

  9. laravel获取checkbox值的小技巧

    以前老是用三元运算符来判断,现在有了更好的方法: 1.html代码 <input type="hidden" name="approved" value= ...

  10. IP自动切换脚本

    @echo off & cls & color 47 & mode con cols=80 lines=25 & title [IP自动切换工具]clsecho. ec ...