2011-04-20 3 views
5

원래 크기가 320x480 인 iPhone 앱용으로 제작 한 펜촉이 있으며 자동 크기 조정 마스크는 수퍼 뷰가 커야 모든 방향으로보기를 확장하도록 설정되어 있습니다.자동 마스크는 iOS에서 언제 적용됩니까?

저는 이제 내 앱을 보편적으로 만들고 있으며 똑같은 펜촉을 사용하여 iPad의 페이지 시트에 표시하고 있습니다.

제 문제는 프레임 크기에 따라 몇 가지 계산을하는 것입니다. 프레임 크기는 여전히 320x480입니다. 그러나 다른 방법에서는 프레임 크기가 페이지 시트의 크기로 올바르게 표시됩니다.

질문 : 언제 자동 크기 조정 마스크가 적용되어 정확한 시간에 계산을 할 수 있습니까?

답변

3

autoresizingMask 속성 시행한다. superview 속성 resizesSubviews은 YES 여야합니다. NIB를로드하면 Superview의 프레임이 NIB와 같이 설정됩니다. 초기화하는 동안 원하는대로 설정할 수 있습니다.

+1

이보기 컨트롤러의보기를 모달 페이지 컨트롤 시트에 표시하고 있습니다. 자동 크기 조정 마스크가 적용되는 일부 지점에서 시각적으로 볼 수 있습니다. 그러나 viewDidLoad에서 반영된 변경 사항은 표시되지 않습니다. 아마도 viewDidLoad와는 반대로 viewDidAppear에서 초기 계산을 수행하면 트릭을 수행 할 수 있습니까? – Scott

+0

대신 'layoutSubviews'를 재정의하십시오. 'viewDidLoad'는 하위 뷰만로드합니다. 레이아웃을 수행하지 않습니다. – XJones

+1

viewDidLoad가 실행 된 후 변경 사항이 다음 실행 루프에서 또는 그 주위에서 적용됩니다. 구체적인 내용은 모르지만 viewDidload에서 레이아웃 항목을 추출하고 자체 메서드에 넣은 다음 layoutSubviews 또는 viewWillAppear를 포함하여 여러 위치에서 호출 할 수 있습니다. 감사! – Scott

0

iOS 용으로 개발 한 이후로 오랜 시간이 걸렸지 만 기기의 회전이 변경되면보기를 회전 할 때 중요하다는 것을 기억합니다. 따라서 모든 장치 방향을 사용할 수있는 뷰 컨트롤러를 설정하면 뷰의 프레임이 설정됩니다. 이 뷰는 차례대로 모든 하위 뷰의 프레임을 설정합니다. 자동 크기 조정 마스크를보고 프레임을 어떻게 변경해야하는지 확인합니다.

나는 이것에 대해 잘 모르겠다. 그러나 나는 이것이 이런 것이라고 생각했다. 그것을 테스트하고 알려주십시오! 그 프레임은 수퍼 변경 때

ief2