내 프로젝트에 정말 이상한 버그가 있습니다. 내 주요보기로는 UIScrollView
이 있습니다. 그 안에는 UIViewController
(UITableViewController
아님)이 있으며 UITableView
인스턴스 변수와 일부 기타는 UIButtons
입니다. 뷰 컨트롤러의 뷰 프레임을 CGRectMake(0, 64, 320, 388)
으로 설정했습니다. 그 위에는 탭 막대가 있는데 (아직 기능이 없습니다). 처음에는 멋지게 보이지만 훌륭하게 보였습니다. 그러나 modalViewController
을 다시 표시하면 (즉, UIViewController
을 다시로드하면) UIViewController
의 화면이 화면 상단에 표시됩니다 (기본값은 CGRectMake(0, 0, 320, 460)
로 설정 됨). 내가 wantsFullScreenLayout
NO
에 설정 한, 지금 CGRectMake(0, 0, 320, 388)
로 설정viewWillAppear와 viewDidAppear 사이에서 UIViewController 자체 크기를 조정 하시겠습니까?
내가 viewWillAppear
과 viewDidAppear
중간 쯤에이 문제를 추적 한 다음 내 정확한 로그는 modalViewController
을 닫으면 다음과 같습니다..
2011 ~ 05-06 11 : 08 : 39.974 캠퍼스 [1570 : 207] 프레임이 0.000000, 64.000000, 320.000000, 388.000입니다. 000
2011-05-06 11 (viewWillAppear) : 08 : 40.378 캠퍼스 [1570 : 207] 프레임은 0.000000, 0.000000, 320.000000, 388.000000이다 (viewDidAppear)
볼 수 있듯이, 상기 프레임에 괜찮 인데 viewDidAppear
에는 없습니다. - loadView
, viewDidLoad
, viewWillAppear
및 viewDidAppear
에서 원하는 프레임을 설정
:
나는 다음과 같은 일을 해결하려고하는 일을했습니다.
- 내 wantsFullScreenLayout
을 NO
으로 설정하십시오.
- 내 메서드 재정의 내 [super viewWillAppear:]
및 [super viewDidAppear:]
호출을 종료했습니다.
어떻게해야합니까?!?!?
누가 모달보기 컨트롤러를 제공합니까? – diatrevolo
자신의 크기를 조절하는 UIViewController – aopsfan