문제

현재 사용자 정의 셀에 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"속성에 액세스 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top