https://github.com/YouXianMing

如何获取UITableView中cell的frame值

如何获取UITableView中cell的frame值

这个可以用来处理UITableView弹出键盘的问题

本人视频教程系类   iOS中CALayer的使用

效果:

源码:

//
//  ViewController.m
//  TableViewCellFrame
//
//  Created by YouXianMing on 14/12/24.
//  Copyright (c) 2014年 YouXianMing. All rights reserved.
//

#import "ViewController.h"

static NSString *YOU_XIAN_MING = @"REUSED_FLAG";

@interface ViewController ()<UITableViewDataSource, UITableViewDelegate>

@property (nonatomic, strong) UITableView  *tableView;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    // 关闭状态栏
    [UIApplication sharedApplication].statusBarHidden = YES;

    // 创建tableView
    [self createTableView];
}

#pragma mark - TableView相关
- (void)createTableView {
    self.tableView = [[UITableView alloc] initWithFrame:self.view.bounds
                                                  style:UITableViewStylePlain];
    self.tableView.delegate   = self;
    self.tableView.dataSource = self;
    [self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:YOU_XIAN_MING];
    [self.view addSubview:self.tableView];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return 20;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell    = [tableView dequeueReusableCellWithIdentifier:YOU_XIAN_MING];
    cell.textLabel.text      = [NSString stringWithFormat:@"YouXianMing - %02ld", (long)indexPath.row];
    cell.textLabel.textColor = [UIColor grayColor];
    
    return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    // 获取对应cell的rect值(其值针对于UITableView而言)
    CGRect rect = [self.tableView rectForRowAtIndexPath:indexPath];
    
    // 做动画效果
    NSLog(@"%@", NSStringFromCGRect(rect));
    [self.tableView setContentOffset:CGPointMake(rect.origin.x, rect.origin.y)
                            animated:YES];
}

@end

关键的地方:

 

posted @ 2014-12-24 21:28  YouXianMing  阅读(2617)  评论(0编辑  收藏  举报