어떻게하면 OS X 버전마다 다른 nib 파일을 가질 수 있습니까? 예를 들어 10.6에는 자동 레이아웃 기능이 없기 때문에 10.7 및 10.8에서는 큰 기능입니다. 그래서 가능하다면 10.6 용 펜촉과 10.7 용 펜촉과 10.8 펜촉을 만들 수 있습니다.다른 OS X 버전에 대한 다른 닙
답변
네,로드 할 때 다른 NIB 파일 이름을 제공하십시오. 이 작업을 수행 할 수없는 곳은 응용 프로그램 NIB이지만 메뉴 막대 옆에 UI 요소가 없어야하므로 스프링 및 스트럿 (예 : 자동 레이아웃이 아닌)으로 두십시오.
예를 들어 NIB 파일 이름을 사용하기 위해 makeWindowControllers
또는 windowNibName
을 NSDocument
에 덮어 쓸 수 있습니다. 특정 클래스에 대해이 문제를 해결하는 방법에 대한 자세한 내용은 설명서를 참조하십시오. 확실히 할 수 있습니다.
확실히. 다른 NIB 파일을 만드십시오. 이 파일의 이름 끝에 버전을 추가 한 다음 런타임에 현재 시스템이 실행중인 OS X 버전을 확인하고 OS X 버전에 맞는 라이브러리를 프로그래밍 방식으로로드하십시오.
응용 프로그램의 "기본"NIB에 대한 작업을 수행하는 것은 다소 어려울 수 있지만 (가능할 수도 있지만 이전에는 사용하지 않았지만 권장하지는 않습니다). 기본 NIB 10.6 호환을 만들고 응용 프로그램 대리인 (프로그래밍 방식으로 작성하는 대신 NIB 파일로 작성하려는 경우)에만 기본 메뉴를 배치하십시오. 별도의 NIB 파일에 모든 창, 뷰 및 기타 UI 요소를 배치 한 후 응용 프로그램 위임 내에서, 그냥 Apple's NIB File Documentation 볼 applicationDidFinishLaunching:
같은 콜백 프로그래밍 NIB 파일을로드하고, "펜촉 파일 프로그래밍을로드"를 검색합니다. 간단한 일반적인 경우에 대한 몇 가지 샘플 코드뿐만 아니라 필요한 방법에 대한 유용한 링크가 있습니다.
- 1. 다른 iOS 버전에 다른 스토리 보드 사용하기
- 2. 다른 MVC 버전에 대한 NuGet Web.Config.Transforms 변경
- 3. 다른 JVM 버전에 대한 maven 아티팩트 배포
- 4. 다른 언어 버전에 대한 IIS 리디렉션
- 5. 다른 위치에있는 파일의 이전 버전에 대한 비난
- 6. 소스 코드와 다른 서브 버전에 대한 사용
- 7. 다른 데이터베이스 버전에 연결
- 8. 맥 OS X - 제어 다른 창
- 9. iOS 버전에 따라 다른 기능 활성화
- 10. 다른 런처 버전에 대한 sbt 플러그인을 교차 빌드 하시겠습니까?
- 11. os x lion에 대한 scipy
- 12. 다른 OS 버전에 대한 내 Temp 응용 프로그램 데이터를 어디에 저장해야합니까?
- 13. Interop 문제 - 다른 OS 아키텍처에 대한 다른 C# 구조
- 14. 는 클라이언트 코드의 다른 버전에 대한 테스트를 자동화하는 방법
- 15. Mac OS X : 활성 창을 다른 화면으로 이동하기위한 키보드 단축키
- 16. Mac OS X : 다른 프로세스의 창으로 렌더링 할 수 있습니까?
- 17. 다른 Android 버전에 ArrayList 저장 /로드
- 18. 다른 Android 버전에 대해 다른 위젯을 사용하는 방법은 무엇입니까?
- 19. 동일한 스키마의 다른 버전에 속한 약간 다른 XML로 XML 변환하기
- 20. 다른 HTTP 포트 (Mac OS X)에 여러 Jenkins 데몬
- 21. OS X : __TEXT 세그먼트의 섹션이 다른 프로그램에 의해 수정 되나요?
- 22. "다른 사용자 숨기기"에 응답 Mac OS X
- 23. OS X Dock을 프로그래밍 방식으로 다른 모니터로 이동
- 24. Java 버전에 따라 다른 Bash 명령어 실행하기
- 25. libc의 다른 버전에 공유 라이브러리를 다시 연결하십시오.
- 26. OS X bash : dirname
- 27. os x
- 28. os x
- 29. 그림자 OS가 iPhone OS 3.2와 다른 경우?
- 30. iPhone OS 호환성이 다른 OS 버전
모든 UI 요소는 별도의 펜촉으로 만들어야하며 예를 들어 10.7 OS X 인 경우 실행시에 10.7 용으로 만든 모든 요소의 펜촉을로드하고 10.6이면 모든 요소의 펜촉을로드합니다 10.6에? 그리고 왜 모든 요소와 모든 것이 만들어지는 메인 펜촉을 사용하지 않는 것이 좋습니다? 그렇다면 OS X 버전에 의존하여로드해야하는 것은 두 가지입니다. 간단하게 들리지만 앱을 실행하는 동안의 행동은 더 어려울 것입니다. – hockeyman
@Julius : 주 Nib는 일반적으로 자동으로로드되기 때문에 Nib 프로그래밍 방식으로로드하는 것이 훨씬 어렵습니다. 또한 UI 요소 당 하나의 Nib가 필요하지 않으며, Main, 3 개의 Nib, 모든 10.6 요소 및 모든 10.7+ 요소 만 가질 수 있습니다. 하나의 펜촉에 넣을 수있는 Windows, Views 및 기타 요소의 수에는 제한이 없습니다. 또한 메인 펜촉에 모든 것을 넣을 필요가 없습니다. 응용 프로그램 델리게이트와 주 메뉴를 주 Nib에 넣고 다른 모든 Nib 파일 (메인 윈도우 포함)을 다른 Nib 파일에 넣는 것으로 충분합니다. – Mecki