• 热门专题

自定义UITableViewCell怎样在子控件触发时得到indexPath

作者:woodn-z  发布日期:2011-09-22 13:34:16
  • 例如 每个UITableViewCell里有个UITextField,当UITextField获得焦点时不会触发tableview的didSelectRowAtIndexPath方法,就不能知道触发是哪个cell,下面方法可以获得UITextField所在行的indexPath,方法很简单,注意两种方式。

    如果是将textField添加在cell.contentView上:

    //获得row
    NSInteger row = [[self.tableView indexPathForCell:(UITableViewCell *)[[sender superview] superview]] row];
    
    //获得section
    NSInteger row = [[self.tableView indexPathForCell:(UITableViewCell *)[[sender superview] superview]] section];
    
    //获得indexPath
    NSIndexPath *indexPath = [self.tableView indexPathForCell:(UITableViewCell *)[[sender superview] superview]];

    如果是直接添加到cell上:

    //获得row
    NSInteger row = [[self.tableView indexPathForCell:(UITableViewCell *)[sender superview]] row];
    
    //获得section
    NSInteger section = [[self.tableView indexPathForCell:(UITableViewCell *)[sender superview]] section];
    
    //获得indexPath
    NSIndexPath *indexPath = [self.tableView indexPathForCell:(UITableViewCell *)[sender superview]];

延伸阅读:

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规