두 개의 .nib 파일을 같은 이름으로 사용할 수 있습니까? 나는 엑스 코드 4 사용하고, 나는 인터페이스, 즉 여러 버전 갖고 싶어 : 다른 폴더에 MainMenu.xib
을, 그래서 나는 그들에 액세스 할 수 있습니다.nib 파일의 여러 버전
[[MainMenuViewController alloc] initWithNibName:@"MainMenu" bundle:skinBundle]
어디에 내 skinBundle
경로에서 번들 같습니다
skinBundle = [NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:@"skinFolderPath" ofType:nil]
내가 응용 프로그램을 빌드 할 때, 모든 디렉토리가 하나의 MainMenu.nib
를 결과 평평하고 있습니다. 폴더가 인 폴더를 추가하면 디렉토리 트리가 보존되지만 .xib 파일은 .nib로 컴파일되지 않습니다.
이것을 달성 할 방법이 있습니까? 또는 nibs의 여러 버전을 관리하는 더 좋은 방법일까요?
감사! 이것은 내가 찾고 있었던 바로 그 것이다. Xcode 4에서는 _Project Navigator_ - _ Add Target_ button-> _Mac OS X Framework 및 Library_ -> _Bundle_에서 프로젝트를 선택하여 번들을 생성했습니다. 그런 다음 응용 프로그램의 대상 _ "번들 리소스 복사"_ 스테이지에서 모든 리소스 파일을 제거하고 그에 따라 번들에 추가합니다. 다음으로 응용 프로그램의 _ "대상 종속성"_ 스테이지에 번들을 추가하고 프로젝트 탐색에서 _Products_ 그룹의 번들을 _ 기본 응용 프로그램의 _ "복사 번들 리소스"_로 끌어 왔습니다. – Johnnywho
번들의 타겟 빌드 설정을 변경해야한다고 덧붙여 야합니다 : _ SDK SDK_를 '최신 iOS', _ 지원 플랫폼 _을 'iphonesimulator iphoneos'로 변경해야합니다. 이것이 없다면 번들 제품은 주요 타겟과 같은 디렉토리에 있지 않을 것입니다. _ "번들 자원 복사"_ 스테이지에서 오류가 발생했습니다. 내가 만난 또 다른 문제는 펜촉이로드시 참조 된 이미지를 캐싱한다는 것과 두 개의 다른 번들에 같은 이름의 이미지가 두 개있는 경우 캐싱으로 인해 하나만 표시된다는 것입니다. 당신은 우아한 해결책이 있습니까? – Johnnywho
'[NSImage imageNamed :]'대신'[NSImage imageWithContentsOfFile :]'를 사용하십시오. 메모리를 효율적으로 사용하지는 못하지만 문제가 발생하지는 않습니다. –