我UITextField
内有大量UIScrollView
,我想检查一下坐标
相对于屏幕的UITextField
,textFieldDidBeginEditing
委托方法,只有在键盘隐藏UITextField
时才向上移动。
答案 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))!