위젯 / 뷰를 별도의 .xib 파일에 넣는 것이 작동하며 특히 여러 뷰 컨트롤러에서 동일한 뷰를 참조하려는 경우에 적합합니다.
그러나 때로는 동일한 스토리 보드 내에서 추가보기 / 위젯을보고 싶을 때도 있습니다. 방법은 다음과 같습니다.
IB에서보기 컨트롤러를 선택한 다음 (보기 아래의 검은 색 막대를 클릭) 개체 라이브러리에서 검은 색 막대로 UIView를 드래그합니다.
뷰가 검은 색 막대에 있으면 IB의 다른 뷰처럼 인스턴스화되지만 코드에서 수행 할 때까지 뷰 계층 구조에 추가되지 않습니다. 필요한 경우 자신의 하위 클래스와 일치하도록 뷰의 클래스를 변경합니다.
다른 뷰를 연결하는 것처럼 뷰 컨트롤러에 연결할 수 있습니다.
추가 된보기는 문서 개요에 표시되며 여기에서 작업과 참조를 연결할 수도 있습니다.
이제 남은 문제는 몇 번을 클릭하거나 더블 클릭을 시도해도 실제로 뷰를 볼 수 없다는 것입니다. 이는 동일한 스토리 보드에 넣는 모든 목적을 무너 뜨립니다. 다행히 내가 아는 두 가지 해결 방법이 있습니다.
첫 번째 해결 방법은 검은 색 막대의 뷰를 뷰 컨트롤러의 뷰로 다시 드래그하고 편집 한 다음 완료되면 검은 색 막대로 다시 드래그하는 것입니다. 이것은 번거롭지 만 신뢰할 수 있습니다.
다른 해결 방법은 더 까다 롭지 만 모든 뷰를 동시에 볼 수 있기 때문에 선호합니다.
개체 라이브러리에서 새로 추가 된보기로 UITableView를 끕니다.
그런 다음 UITableViewCell을 해당 UITableView로 끕니다.
그렇게하면보기가 마술처럼 옆에 튀어 나오지만 원하지 않는 UITableView가 있습니다. 0x0으로 크기를 조정하거나 삭제할 수 있으며 UIView는 (일반적으로) 계속 표시됩니다.
때때로 2 차 뷰가 IB에서 다시 숨겨집니다. UITableView를 삭제했거나 UITableView가 여전히 계층 구조에있는 경우 위 단계를 반복 할 수 있습니다. UITableViewCell을 클릭하면보기가 다시 나타납니다.
두 번째 방법은 UIViews에서 작동하지만 UIToolbars에서는 잘 작동하지 않으며 UIButtons에서는 불가능합니다. 따라서 여러 하위보기를 포함해야 할 때 찾은 가장 깨끗한 솔루션은 단일 보조 UIView를 뷰 컨트롤러에 컨테이너로 연결하는 것입니다. 표시되지 않고 모든 보조 뷰를 거기에 넣고 UITableViewCell 트릭을 사용하여 모든 것을 표시하십시오. 내 더미 UITableView의 크기를 0x0으로 조정하여 보이지 않게합니다. 다음은 모든 것이 함께 어떻게 보이는지 보여주는 스크린 샷입니다.
xib
스토리 보드가 아닌 뷰 컨트롤러에 대한를 별도로 생성 하시겠습니까?