내부에있는 일부 컨트롤, 텍스트 필드 및 일부 단추가있는보기를 만들고이를 복제하여 탭보기의 탭 내용으로 표시하려고합니다. 각 탭에는이보기의 인스턴스가 있어야합니다. 약도?보기 복사하기
보기 복사하기
답변
Dave DeLong이 거의없고 질문에 답변이 포함되어 있습니다 ("각 탭에는보기의 인스턴스가 있어야 함"). 프로그래밍 방식으로 뷰를 만들거나 NIB를로드하려면 UIViewController 하위 클래스를 만듭니다. 그런 다음 UIViewController 하위 클래스의 여러 인스턴스를 인스턴스화하고 모두 UITabViewController의 viewControllers 속성에 추가합니다.
View Controller Programming Guide으로 시간을 보내고 싶습니다. 같은 UIViewController 하위 클래스의 여러 인스턴스를 만드는 것은 실제로 솔루션에 거의 영향을 미치지 않습니다.
흠 ... 네가하고 싶은 것을 정확히 이해했는지는 잘 모르겠다. "duplicate"라는 단어는 프로그램에서 가장 자주 "냄새"를 나타 내기 때문에 매우 좋지 않습니다.
저는 코코아의 전문가가 아니며 객관적인 c도 아니지만 일종의 컨테이너 컨트롤 안에 컨트롤을 넣고 탭 뷰에서이 컨테이너 컨트롤을 인스턴스화 (복제보다는 재사용) 할 수 있다고 생각하거나 어디에서든지.
"각 탭에는이보기의 인스턴스가 있어야합니다." 어쨌든, 쓸데없는 대답 주셔서 감사합니다. – goo
@goo 그가 말한 것은 정확합니다. View XIB로 뷰를 생성 한 다음 NSViewController를 사용하여 여러 번 인스턴스화 할 수 있습니다 (한 가지 방법 임). –
보기 계층 구조를 복제하는 빠르고 쉬운 방법은이를 인코딩하고 디코딩하는 것입니다. 예 :
NSData * encodedView = [NSKeyedArchiver archivedDataWithRootObject:myView];
NSView * myViewClone = [NSKeyedUnarchiver unarchiveObjectWithData:encodedView];
이 접근 방식에는 많은 단점이 있습니다. 예를 들어,보기에 대상 및 조치가 설정된 경우 대상이 또한 인코딩되지 않으면 복제되지 않습니다. –
@ 존 동의, 따라서 "빠르고 더러운"=) –
- 1. div 복사하기 양식 복사하기
- 2. 보기,보기
- 3. QTableView의 일부분 복사하기
- 4. wxPython : RichTextCtrl에서 텍스트 복사하기
- 5. 오라클에서 필드 복사하기
- 6. SCP에없는 파일 만 복사하기
- 7. iTextSharp로 PDF 양식 복사하기
- 8. 멤버로부터 메소드 복사하기
- 9. 파이썬에서 심볼릭 링크 복사하기
- 10. Java로 특정 노드 복사하기
- 11. DB2에 오라클 테이블 복사하기
- 12. 새로운 Drupal 설치 복사하기
- 13. 특정 블록의 xml 복사하기
- 14. Xcode에서 파일 복사하기
- 15. PHP - 문자열의 일부분 복사하기
- 16. 카메라 입력에서 픽셀 복사하기
- 17. GPU 메모리에 트리 복사하기
- 18. 문자열을 버퍼에 복사하기
- 19. vim에서 창으로 텍스트 복사하기
- 20. 문자열의 일부를 C로 복사하기
- 21. Http Request InputStream 복사하기
- 22. 보기
- 23. 보기
- 24. 보기
- 25. 보기
- 26. 보기 /보기 컨트롤러 재사용 하시겠습니까?
- 27. 실행중인 루비 스크립트에서 데이터 복사하기
- 28. Maven의 내 프로젝트에서 파일 복사하기
- 29. Eclipse : 클립 보드에 경고 복사하기
- 30. 사전에서 값을 파이썬으로 객체에 복사하기
물론, 그 아이폰에서만 작동합니다. Mac에서는 대신 NSViewController를 사용할 것이고 UIViewController가 비슷하게 작동한다고 생각하지 않습니다. –
NSViewController는 UIViewController보다 훨씬 원시적이지만 위의 원칙은 동일해야합니다. 우리는 NSViewController가 등장하기 전에 오랫동안 Mac에서 "View Controller"를 구축 해왔다. (나는 자신 만의 제품을 많이 만들었다.) 프로그래밍 방식으로 뷰를 빌드하는 객체 (예 : loadView를 오버로드하는 것)는 iPhone에만 해당되는 것이 아니며 NSSegmentedControl 기반 탭 뷰 또는 다른 Mac 솔루션을 관리하는 데 여전히 합리적인 방법입니다. 즉, Mac에서는 NSViewController가 아닌 NSView 하위 클래스를 사용하여이 작업을 수행 할 수 있습니다. –