在ScrollView相对于屏幕中查找TextField的坐标

时间:2012-10-30 13:41:38

标签: iphone ios

UITextField内有大量UIScrollView,我想检查一下坐标 相对于屏幕的UITextFieldtextFieldDidBeginEditing委托方法,只有在键盘隐藏UITextField时才向上移动。

3 个答案:

答案 0 :(得分:4)

您可以获得文本字段的绝对位置,如下所示:

    CGRect absoluteframe = [mytextfield convertRect:mytextfield.frame toView:[UIApplication sharedApplication].keyWindow];

然后使用它测试它是否低于某个特定位置(例如键盘启动的位置),然后相应地滚动滚动视图。

答案 1 :(得分:1)

textFieldDidBeginEditing代表

中的

 float y = scrollView.contentOffset.y + textField.frame.origin.y;
    float x = scrollView.contentOffset.x + textField.frame.origin.x;

NSLog(@"x Position is :%f , y position is : %f",x,y);

答案 2 :(得分:0)

Swift 3解决方案:

let absoluteframe: CGRect = (activeField?.convert(activeField!.frame, to: UIApplication.shared.keyWindow))!