UIView 레벨에서 uitextfield y 좌표를 얻으시겠습니까?
-
13-11-2019 - |
문제
현재 사용자 정의 셀에 UITEXT 필드가 있으며 View Controller의 View (UIView)의 레벨에서 해당 UITextField의 Y 좌표를 가져 오려고합니다.현재 나는 이렇게하는 것을 시도하고 있습니다 :
if (thetextField.superview.superview.superview.frame.origin.y >= keyboardY) {
}
.
그러나 y 좌표가 실제로 아닌 경우 항상 0입니다.이것을 달성 할 수있는 방법이 있습니까?
UIKEYBOAD가 UIKEYBOAD가 UILEXTFIEL을 차단하고 있는지 여부를 탐지하고 있으므로 셀을 다시 정렬 할 수 있습니다.
감사합니다!
해결책
UIView 문서 에서 convertPoint:*
메소드를 확인하십시오.이러한 메소드를 사용하면 다른 뷰 좌표로 지점을 매핑 할 수 있습니다.
self
가보기 컨트롤러 인 경우이 행은 View 컨트롤러의 뷰 좌표에서 텍스트 필드의 원점을 반환합니다.
[thetextField convertPoint:thetextField.frame.origin toView:self.view];
.
convertRect:*
메소드를 사용하여 비슷한 방식으로 Rects를 변환 할 수도 있습니다.
다른 팁
스위프트 3 버전 :
thetextField.convert(thetextField.frame.origin, to:self.view)
.
CGPOIT를 반환하므로 "x"또는 "y"속성에 액세스 할 수 있습니다.
제휴하지 않습니다 StackOverflow