2011-01-24 2 views
0

iPad의 모달 뷰 내에 캡슐화 된 뷰의 크기에 프로그래밍 방식으로 액세스하려면 어떻게해야합니까?Ipad의 모달 뷰 오버플로 삽입

UIModalPresentationFormSheet 열거 형을 사용하여 Ipad에 모달 뷰를 표시하고 있으며 한 시점에서 동작이 발생할 때까지 전체 모달 시트에 활동 표시기 뷰를 일시적으로 표시하려고합니다. 내가 겪고있는 문제는보기 컨트롤러 뷰의 프레임으로이 대기 표시기 뷰를 초기화하고 어떤 이유로 든 해당 프레임이 항상 (0,0,320,460)으로 표시됩니다. 아이폰과 아이 패드에서는 괜찮 았지만, 모달 양식 시트는 분명히 그보다 크기 때문에, 내 활동 표시기가 부분적으로 화면을 덮고있다. 모달 양식 용지를 채우는 방법에 대한 아이디어가 있습니까?

도움 주셔서 감사합니다.

+0

view.frame 대신 view.bounds를 시도하십시오. – Felix

답변

1

이 작업을 수행하는 가장 좋은 방법은보기 컨트롤러의 xib에 활동 표시기를 추가하는 것입니다. 나는 이것을 전에했고, 나를 위해 잘 돌아 간다.

1) xib의 전체보기에보기를 추가하기 만하면됩니다.

2) 검정색과 약 20 % 불투명 한 경우 배경색을 지정하십시오. 그러면 그림자가 생길 것입니다.

3) Interface Builder의 세 번째 탭에서 자동 크기 조정 정보를 볼 수 있습니다. 모든 스트럿과 스프링을 켜십시오 (라인 중 6 개가 모두 빨간색으로 바뀌 었는지 확인하십시오). 그러면 popover가 어떤 크기가 되더라도 전체 popover를 채우기 위해보기 크기가 조정됩니다.

4) 활동 표시기를 해당 오버레이보기에 추가하십시오. 세 번째 탭의 배치 섹션에서이 버튼을 사용하여 수평 및 수직 가운데에 배치하십시오.

5) 활동 표시기의 경우 모든 스트럿과 스프링을 끄십시오. 즉, 크기가 조정되지는 않지만 항상 뷰의 중심에 떠있게됩니다.

6)보기 컨트롤러의 오버레이보기에 IBOutlet을 추가하고 xib에 부착하십시오.

7) 필요한 모든 데이터를로드하고 작업 표시기를 제거하려면 오버레이보기를 숨김으로 설정하여 완전히 팝업 뷰에서 제거하십시오.

관련 문제