获得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

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

相关文章推荐

如何获得UITableViewCell 在屏幕中的位置

如何获得UITableViewCell 在屏幕中的位置

获取tableviewCell在当前屏幕中的坐标值

在使用 UITableViewCell  的frame属性获取origin得到的坐标是不变的. 也就是说如果UITableView初始化完毕后,每个cell的坐标是固定的,x不变,y 随in...

获取 UITableView 单个cell 的坐标点位置

聊天界面中,长按某个对话,弹出窗口,可以进行选中,复制。  该弹出窗口的坐标确定 用以下方法 - (void)tableView:(UITableView *)tableView didSelec...

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

Android adb shell 获得点击屏幕的位置坐标 分类: android2013-10-10 11:10 3170人阅读 评论(1) 收藏 举报 通过 adb sh...

VC获得鼠标在屏幕的位置

  • 2014-12-26 14:56
  • 9.36MB
  • 下载

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

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

汇编语言在屏幕指定位置输出字符串

代码及结算如下: ;在屏幕的指令位置(8行8列处以指定颜色输出 data段中的字符串),可记录到Blog assume cs:code data segment db 'welcome to mas...

寻找屏幕上的点击位置--Queen核心技术分享

APP发布之后,发布者最关心的事情自然是用户使用APP的情况。换言之,他们希望回答一个问题:我的用户是怎么使用我的APP的?为了回答这个问题,最重要的步骤就是用户数据收集,因为用户不可能来到你的身边去...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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