페이징 된 scrollview가 있습니다. 각 페이지에는 단추 그리드를 관리하는 viewcontroller (buttonViewController)가 있습니다. 단추 중 하나를 누르면 buttonViewController가 다른 viewcontroller (detailViewController)를 모달로 표시합니다.ModalViewController를 닫은 후 UIScrollView의 내용이 이동되었습니다.
문제는 모달보기 컨트롤러를 닫을 때 표시되는 buttonViewController가 약 20 픽셀 정도 씩 아래로 이동한다는 것입니다. 이상한 것은 보이는 페이지 만 이동한다는 것입니다. 이미로드 된 다른 페이지로 스크롤하면 여전히 올바른 위치에 있습니다.
내 질문은 그러나, 그 질문에 대한 허용 대답이 상태 표시 줄이 숨겨져 있다고 가정 기본적으로 dismissing modalViewController moves main view buttons around iphone
과 동일합니다. 내 응용 프로그램에서 상태 표시 줄을 숨기고 있지 않습니다.
다른 아이디어?
추가 참고 : 이동은 처음으로 모달 뷰 컨트롤러를 시작할 때만 발생합니다. 모달 뷰 컨트롤러를 열고 닫으면 모든 것이 그대로 유지됩니다.
하나 더 참고 : 나는 모달 뷰 컨트롤러를 해제 한 후
CGRect frame = self.view.frame;
frame.origin.y=0;
self.view.frame = frame;
이, 나는이 문제를 해결할 수 : 나는 다음과 같은 코드를 추가합니다. 프레임이 y에서 20 픽셀 씩 움직이는 것 같습니다. 나는 아직도 그 움직임의 원인을 알지 못한다.
상태 표시 줄과 겹치지 않도록 표시하려면 20 픽셀 이하의 모든 하위보기를 추가해야한다는 것을 알고 있습니까? – Daniel
아니요, 저는 scrollview의 프레임과 동일하게 설정했습니다. 투명 상태 표시 줄을 사용하고 있으므로 겹치지 않아도됩니다. –