对于ios 7和大部分,返回的单元格总是第一个单元,即indexpath.row =0。尽管我考虑的是单元格内的滚动视图和额外的.superview。
- (UITableViewCell *)getCellforButton:(UIButton *)sender
{
UITableViewCell *cell;
//Check for iOS version and get the cell accordingly
NSArray *versionComponenets = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];
if ([[versionComponenets objectAtIndex:0] intValue] >= 7)
{
// iOS-7 code[current] or greater
//Additional superview call to account for new scrollview inside of cells
cell = (UITableViewCell *)sender.superview.superview.superview;
}
else
{
// iOS-6 code
cell = (UITableViewCell *)sender.superview.superview;
}
return cell;
}发布于 2015-04-14 15:04:15
使用UIView's convertPoint:toView method获取UITableViewCell
-(UITableViewCell *)getCellforButton:(UIButton *)sender
{
CGPoint btnPosition = [sender convertPoint:CGPointZero toView:yourTableViewHere];
NSLog(@"btnPositionn : %@",NSStringFromCGPoint(btnPosition));
NSIndexPath *curIndexPath = [yourTableViewHere indexPathForRowAtPoint:btnPosition];
id cell = [yourTableViewHere cellForRowAtIndexPath:curIndexPath];
if (cell)
{
UITableViewCell *curCell = cell;
return curCell;
}
else
return nil
}https://stackoverflow.com/questions/29630707
复制相似问题