PageMenu의 첫 번째 UIViewController 레이아웃에서 충돌

2603 단어 SwiftPageMenuiOS
Swift의 프로그램 라이브러리입니다.여러 UIView Controller를 볼 수 있는 앱을 가로 스크롤로 만들었지만, AutoLayout이 생각하는 것처럼 첫 번째 VC만 이동하는 것은 도무지 없었다.
조사 결과 PageMenu 본가의 데모에서 AutoLayout을 사용하는 UIViewController를 첫 번째로 설정하면 지면이 붕괴되는 것으로 나타났다.
PageMenu
UIViewController의 문자는 AutoLayout Horizontal Center in Container에서 지정해야 하지만 중앙에서 오프셋됩니다.
그나저나 다른 VCC로 이동해서 돌아올 때

이번에는 마침 중앙에 있다.
첫 번째 VCC를 처음 표시할 때 위쪽 메뉴 표시줄보다 크기가 큰 것 같습니다.
근본적인 해결책은 아닌 것 같지만 다음 코드를 VC에 추가해서 수동으로 크기를 조정할 수밖에 없다.
TestViewController.swift
override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()

    let superSize   = self.view.superview!.frame.size
    let rect        = self.view.frame
    let size        = self.view.frame.size

    self.view.frame.size = CGSizeMake(size.width, superSize.height - rect.origin.y)
}
이렇게 하면 레이아웃 변형이 발생하지 않고 처음에 올바른 치수로 안전하게 표시됩니다.

좋은 웹페이지 즐겨찾기