获得UITableViewCell 在屏幕中的位置

原创 2016年06月01日 23:28:41

如果UITableView的每一个cell中都有一个textField,点击时弹起的键盘挡住了该cell,则应该将tableView弹起一定距离,以避免被遮挡:

1、获取cell在tableview中的位置。

CGRect rectInTable = [_tableView rectForRowAtIndexPath:indexPath];


2、将cell在tableView中的位置转化为在屏幕中的位置。

当tableView滑动的时候, label在屏幕中的位置会发生变化 应该怎样去计算cell在屏幕中的位置呢,毕竟键盘是相对屏幕的,不是相对tableVUew的。

- (CGRect)convertRect:(CGRect)rect toView:(nullableUIView *)view;


以下是完整的代码:

- (void) keyboardWillShow : (NSNotification*)notification {

    CGRect keyboardFrame = [[[notification userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey]CGRectValue];

    NSIndexPath *indexPath = [NSIndexPathindexPathForRow:_firstResponderFieldIndexinSection:0];


    CGRect rectInTable = [_tableView rectForRowAtIndexPath:indexPath];

    CGRect rectInSelfview = [_tableView convertRect:rectInTable toView:self.view];

    CGFloat cellBottomY = rectInSelfview.origin.y + rectInSelfview.size.height;

    

    if (cellBottomY >  keyboardFrame.origin.y ) {   //键盘是否会挡住点击cell的判断

        CGFloat delta = _tableView.frame.origin.y - (cellBottomY - keyboardFrame.origin.y);

        _tableView.frame =CGRectMake(0, delta,SCREEN_WIDTH,_tableView.frame.size.height);

    }

}


注:_firstResponderFieldIndex就是点击的cell的tag

版权声明:本文为博主原创文章,转载请注明出处。

相关文章推荐

VC获得鼠标在屏幕的位置

  • 2014年12月26日 14:56
  • 9.36MB
  • 下载

Android adb shell 获得点击屏幕的位置坐标

Android adb shell 获得点击屏幕的位置坐标 分类: android2013-10-10 11:10 3170人阅读 评论(1) 收藏 举报 通过 adb sh...
  • WHACKW
  • WHACKW
  • 2015年01月22日 15:31
  • 1198

iOS 判断 UITableViewCell 和 UICollectionViewCell 是否移出屏幕

应用场景 在 UITableViewCell 中嵌入一个播放器 当某一个 Cell 被移出屏幕的时候,对改 Cell 进行处理,包括暂停或停掉播放器,或者其他的操作. 基本思路关于判断 UI...

iOS UITableViewCell 改变系统选中按钮(UITableViewCellEditControl)的默认图片和位置

系统效果: 1.只改变蓝色底色,可以//    cell.tintColor = [UIColor redColor]; 2.改变图片和位置, - (void)setEditing:...

UITableView的分割线从最左侧开始, 右箭头,分割线颜色; UITableViewCell中ImageView位置大小控制

1、在viewDidLoad中添加 [html] view plaincopy // 重写UITableView的方法是分割线从最左侧开始    ...

VB 设置窗体在屏幕中的位置

  • 2010年06月07日 15:43
  • 38KB
  • 下载

编写一个在屏幕指定位置输出特定字符和特定颜色的子程序

题目要求来自王爽著《汇编语言》。 子程序描述:Show_str 功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串。 参数:(dh)=行号(取值范围0~24),dl=列号(取值范围0~7...

抓取屏幕上任何位置的颜色属性

  • 2016年06月02日 20:20
  • 2.46MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:获得UITableViewCell 在屏幕中的位置
举报原因:
原因补充:

(最多只允许输入30个字)