1

我有大量的UITextField内部UIScrollView,我想检查 UITextField相对于屏幕的坐标,在textFieldDidBeginEditing委托方法中,只有当键盘将隐藏UITextField.

4

3 回答 3

4

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

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

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

于 2012-10-30T13:52:16.110 回答
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);
于 2012-10-30T13:48:34.087 回答
0

斯威夫特 3 解决方案:

let absoluteframe: CGRect = (activeField?.convert(activeField!.frame, to: UIApplication.shared.keyWindow))!
于 2017-01-21T06:04:20.820 回答