2016-06-03 6 views
0

수평 적으로 일반적인 환경에서 탐색 모음에 단추가 표시되지만 수평으로 압축 된 환경에서는 일부 단추가 탐색 모음에 있고 Safari와 유사한 레이아웃을 지원하려고합니다. 도구 모음에 있습니다.TraitCollectionDidChange 후 툴바 및 탐색 모음 재구성

이것은 내 traitCollectionDidChange

override func traitCollectionDidChange(previousTraitCollection: UITraitCollection?) { 

    let editingContextButton = editing ? resetButton : doneButton 

    if traitCollection.horizontalSizeClass == .Regular { 
     navigationController?.toolbarHidden = true 

     navigationItem.leftBarButtonItems = [editButtonItem(), helpButton] 
     navigationItem.rightBarButtonItems = [editingContextButton, addButton] 

    } else if traitCollection.horizontalSizeClass == .Compact{ 
     navigationController?. toolbarHidden = false 

     navigationItem.leftBarButtonItems = [editButtonItem()] 
     navigationItem.rightBarButtonItems = [editingContextButton] 
     navigationController?.toolbarItems = [helpButton, UIBarButtonItem(barButtonSystemItem: .FlexibleSpace, target: nil, action: nil), addButton] 
    } 
} 

에있는 것입니다 그러나 콤팩트 하나에 일정한 수평 크기 클래스에서 전환에 문제가있는 것 같다. 탐색 모음의 항목은 항상 올바르지 만 도구 모음 항목은 잘 리거나 비어 있습니다.

ViewController를 가져 오면 항상 설정되고 올바르게 표시되며 가로로 일반 크기의 클래스에서 항상 올바르게 표시됩니다. 크기 클래스가 일반에서 컴팩트로 변경 될 때만 문제가 있습니다.

다음은 크기 클래스가 변경된 후 툴바에서 사라지는 오른쪽 하단에 추가 버튼을 보여주는 예입니다. 5.5 "아이폰에 장치를 회전, 아이 패드에 세로 도구 모음이 멀티 태스킹을 활성화 한 후 바로 비어있을 때

enter image description here

같은 일이 발생합니다. 문제는 여기에 무엇? 감사합니다!

답변

0

내가 실현 . 내가 제대로 도구 모음 항목을 설정하지 않는 것을 대신

navigationController?.toolbarItems = [helpButton, UIBarButtonItem(barButtonSystemItem: .FlexibleSpace, target: nil, action: nil), addButton] 

의 내가 했어야 :

setToolbarItems([helpButton, UIBarButtonItem(barButtonSystemItem: .FlexibleSpace, target: nil, action: nil), addButton], animated: false)