IBAction在iOS7中总是返回0的点击索引[重复]

Posted

技术标签:

【中文标题】IBAction在iOS7中总是返回0的点击索引[重复]【英文标题】:IBAction always returns 0 of clicked index in iOS7 [duplicate] 【发布时间】:2013-11-06 14:41:43 【问题描述】:

以下是我所拥有的。

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

    static NSString *CellIdentifier = @"MainCell";

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

    UIButton *myButton = (UIButton *)[cell viewWithTag:999999];
    // setting image to button...
    return cell;    

在 IB 中,我已为此按钮设置了操作...

- (IBAction)clickedCellAction:(id)sender 

    UITableViewCell *clickedCell = (UITableViewCell *)[[sender superview] superview];
    NSIndexPath *clickedButtonPath = [mainTableView indexPathForCell:clickedCell];

    NSLog(@"row==%d", clickedButtonPath.row);

现在,当我运行它时,我在 ios 7 中总是得到 row==0

但是它在 iOS6 中给出了正确的 row==。

知道为什么会这样吗?

【问题讨论】:

【参考方案1】:

下面是我用的...

CGPoint buttonPosition = [sender convertPoint:CGPointZero toView:mainTableView];
NSIndexPath *indexPath = [mainTableView indexPathForRowAtPoint:buttonPosition];
NSLog(@"row index---%d", indexPath.row);

【讨论】:

以上是关于IBAction在iOS7中总是返回0的点击索引[重复]的主要内容,如果未能解决你的问题,请参考以下文章

PrepareForSegue 总是返回索引为 0 的单元格

iOS6和iOS7环境下微信登录未显示问题&微信IOS的SDK:isWXAppInstalled总是返回NO和nil

通讯录--(适配iOS7/8/9)

在 iOS 7.1 中,UISearchBar 的文本和占位符属性不再起作用

得到细胞索引 - 偷看和流行

PageviewController 总是返回一个像 2147483648 这样的索引