질문 : 화면 회전 후 자동 회전 된 UIView가 제공되는 크기를 얻을 수 있지만이 값은 이되기 전에 회전이 완료 되었습니까? 그렇다면 어떻게?화면을 회전 한 후에 자동 회전 된 UIView가 표시됩니다.
배경 : 여러 UILabels이 포함 된 UIView (화면의 기본 UIView보다 작음) 내의 열에 배열 된 화면이있는 iPad 앱을 만들고 있습니다. 레이블 수와 텍스트 길이 각 레이블에서 컴파일 시간 동안 알 수 없습니다. 이들은 런타임에서 화면에서 동적으로 배치됩니다. 알고리즘은 화면에서 잘리지 않도록 컬럼 및 너비의 최적 수를 선택합니다. rejiggering 프로세스가 사용자에게 최대한 부드럽게 표시하려면, 나는이 내부를 할 필요가 믿는 :
-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
그러나 물론 회전이 완료되기 전에이 메서드가 호출되고, 따라서 필요에 알고 포함하는 UIView가 곧 갖게 될 크기를 올리십시오.
로버트에게 감사드립니다. 'viewWillLayoutSubviews'가 트릭을했습니다.이 메소드는 컨테이너에 새로운 크기가 할당 된 후 자동 회전 작업 중에 호출되므로 추가 트릭을 통해 컨테이너를 가져올 필요가 없습니다. 'container.frame.size'는 예상대로 작동합니다. – curtisdf