Trait Collections 및 Size Class

1461 단어
view와view Controll은 모두 UItrait Environment 프로토콜을 준수합니다. 이 프로토콜에는trait Collection 속성과 방법이 있습니다.
public func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?)

이 속성은 UItrait Collection 유형입니다. 이 유형은 다음과 같은 몇 가지 속성이 있습니다. display Scale에서 현재 모니터의 디스플레이 비율을 설명합니다. 1, 2, 3 userInterface Idiom에서 현재 장치 유형을 설명합니다. 이것은 일괄 아이폰,pad,tv,carplay horizontal Size Class와vertical Size Class가 모두 일괄입니다. Size Class를 설명하는데 의미는:horizontal Size Class와vertical Size Class의 값은 모두 Regular입니다.아이패드에서horizontal Size Class와vertical Size Class를 실행하는 값은compact입니다. 아이폰의 수평방향(6p와 7p 제외)horizontal Size Class는regular,vertical Size Class는compact,6p와 7p의 수평방향에서horizontal Size Class는regular입니다.아이폰의 세로 방향에서 이러한 속성을 이용하면 앱이 실행되는 환경을 서로 다른 환경에서 알맞게 배치할 수 있다. 앱이 실행되는 환경이 바뀔 때 UItrait Environment 협의회는 위의 방법을 알려주어 앱이 알맞게 배치할 수 있다. 위의 방법은 이전의 정보를 매개 변수로 제공하고 변경된 정보를 얻으려면self를 사용할 수 있다.traitCollection
UItraitCollection 유형의 인스턴스를 직접 작성할 수도 있습니다.
let tcdisp = UITraitCollection(displayScale: 2.0)
let tcphone = UITraitCollection(userInterfaceIdiom: .phone)
let tcreg = UITraitCollection(verticalSizeClass: .regular)
let tc = UITraitCollection(traitsFrom: [tcdisp,tcphone,tcreg])

마지막 초기화 방법은 앞의 세 가지 실례를 조합합니다. 만약 앞의 세 가지 실례 설정의 속성이 중복된다면, 그룹의 마지막 실례 설정을 기준으로 합니다.서로 다른 속성 설정을 조합하여
UITraitCollection 실례는 아래의 방법으로 비교할 수 있다
open func containsTraits(in trait: UITraitCollection?) -> Bool

좋은 웹페이지 즐겨찾기