버튼 + 텍스트 필드가있는 scrollView가 있으며 한 요소에 데이터가 입력되면 scrollview가 다음 요소로 스크롤됩니다. frame
구성 요소를 통해 각 요소 위치에 액세스합니다.UIButton 프레임 좌표는 뷰 이동 후 업데이트되지 않습니다.
그러나 사용자는 모두 요소를 페이지 아래쪽으로 의도적으로 이동하는 이미지를 업로드 할 수 있습니다. 이렇게하면 다음 요소 기능으로 스크롤이 완전히 끊기고 인 요소가있는 으로 스크롤됩니다. 의미는 각각 UIButton
, UITextField
에 대한 구성 요소가 업데이트되지 않습니다.
모든 요소를 아래로 이동하면 어떻게 좌표가 업데이트됩니까? frame
을 사용해야합니까?
필드는 실제로보기에 있으며 그 다음에 UIScrollView
상단에 있습니다. 이미지를 추가 할 때 프레임을 화면 아래로 이동하여 필드보기를 이동합니다. 각 버튼/필드 자체를 이동하지는 않습니다.
- (void)scrollViewToNextElement:(CGRect)frame {
[self.scrollView scrollRectToVisible:CGRectMake(frame.origin.x,frame.origin.y, scrollView.frame.size.width, scrollView.frame.size.height) animated:YES];
}
트리거 조치 :
-(void)button1TextEntered{
// Now go to the next button
[self scrollViewToNextElement:button2.frame];
}
당신은 요소의'center' 속성을 사용할 수 있습니다. 매번'frame' 속성을 변경하는 것보다 빠릅니다. (왜냐하면'center' 속성은 요소의 크기를 재정의하지 않기 때문입니다) – holex