获取cell上的button相对frame

- (CGRect)getButtonFrameInTableView:(UIButton *)button {
    UIView *superView = button.superview;
    while (![superView isKindOfClass:[UITableViewCell class]] && superView != nil) {
        superView = superView.superview;
    }

    if ([superView isKindOfClass:[UITableViewCell class]]) {
        UITableViewCell *cell = (UITableViewCell *)superView;
        UITableView *tableView = (UITableView *)cell.superview;
        
        CGPoint buttonPosition = [button convertPoint:CGPointZero toView:tableView];
        NSIndexPath *indexPath = [tableView indexPathForCell:cell];
        CGRect cellRect = [tableView rectForRowAtIndexPath:indexPath];
        CGRect buttonFrameInTableView = CGRectMake(buttonPosition.x,
                                                   (cellRect.origin.y + buttonPosition.y),
                                                   button.frame.size.width,
                                                   button.frame.size.height);
        return buttonFrameInTableView;
    }
    
    return CGRectZero; // 或者一个默认值来表示未找到
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。