다음 로드뷰 예제

응용 프로그램이 여러 장치 방향을 지원하려는 경우 뷰 컨트롤러 내에서 다음 방법을 구현해야 합니다. 농담 외에도, 그것은 새로운 시대의 시작이었다, 점점 더 많은 장치가 태어났다, 자동 레이아웃 제약 으로 그것은 보기를 유지하기 위해 매우 쉽게했다. 이제 레이아웃 제약 조건으로 이전 예제를 리팩터링해야 합니다. 그것은 매우 간단합니다, 당신은 코너를 적용 할 수 있습니다마스크 모서리의 일부를 둥글게. 레이어 기반 레이아웃 예제는 아티클에 대해 제공된 소스 코드 내부에 있으며 gitlab에서 다운로드하거나 복제할 수 있습니다. 제약 조건이 있는 애니메이션은 쉽게 사용할 수 있으므로 다른 사람들이 말하는 것을 믿어서는 안 됩니다. 제약 조건의 상수 값에 애니메이션을 적용하고 다양한 제약 조건을 전환하는 기본 원칙을 이해하는 데 도움이 되는 몇 가지 규칙과 예제를 만들었습니다. 👍 우선 UIViewController 라이프 사이클 메서드를 요약하고 싶습니다. 그들은 다음과 같은 순서로 호출되고있다 : 첫 번째 아이폰을 기억? 하나의 화면은 그들 모두를 지배! 320×480, 제약 없음, 적응성 없음, 프레임 및 경계. 고정 된 크기 캔버스에 뷰를 배치하는 것은 절대적으로 생각할 필요가 없습니다, 여기에 예입니다. 이 모든 것을 추상화로 설명하는 대신 사람들이 뷰를 혼합하고 컨트롤러를 보는 방법에 대한 구체적인 예를 살펴보겠습니다. 이 괴물을 통해 눈을 캐스팅 : 당신은 또한 UIDevice 클래스를 통해 사용자 인터페이스 idom을 확인할 수 있습니다 (일명.이 괴물 `장치는 아이폰이나 아이 패드?) 그것을 기반으로 예를 들어 글꼴 크기를 설정할 수 있습니다.

📱 스토리보드를 사용하는 대신 프로그래밍 방식으로 뷰를 만드는 경우 뷰 컨트롤러의 loadView 메서드를 재정의합니다. 이 메서드의 구현은 다음을 수행해야 합니다. 이 메서드는 특별히 재정의할 수 있습니다. 나는 애플의 문서가 비록 조금 불분명 할 수 있다는 것에 동의합니다. 그러나 loadView는 탐색 컨트롤러의 보기에 액세스하고 뷰가 없을 때마다 기본적으로 호출됩니다(예: UIView *view = viewController.view). 수동으로 호출할 수도 있습니다. 그러나 어떤 상황에서도 loadView는 올바른 차원을 갖습니다… 즉, 사실, 불가능합니다.

loadView는 부모 뷰 컨트롤러가 처음에 뷰를 적절히 크기를 조정할 수 있도록 하기 위해 호출됩니다. 그런 다음 뷰를 받으면 viewDidLoad를 호출합니다. 뷰가 loadView 메서드 또는 펜촉에서 로드할 수 있고 펜촉에서 뷰를 로드할 때 추가 설정을 위한 장소를 제공해야 하기 때문에 사용할 수 있는 유일한 코드 경로입니다. 마지막으로 부모 컨트롤러는 뷰의 크기를 조정하고 뷰를 호출WillWill보기가 실제로 나타날 때만 나타납니다.