2010-06-03 2 views
5

우선, Tortuga 22 팀 덕분에 마침내 NinePatch가 iPhone을 지원합니다. 불행히도 저에게 제 자신의 라이브러리를 프로젝트에 추가 할 수 없었습니다. The source code at git hub. Tortuga 22 NinePatch 라이브러리를 내 Xcode 프로젝트에 포함시키는 방법은 무엇입니까?

난 그냥 드래그 내가 "해당 파일 또는 디렉터리"-errors의 톤을 얻을 내 프로젝트에 소스 파일을 드롭 경우 The Tortuga 22 blog post.

  • What is NinePatch?
    • . libNinePatch.a-file을 외부 프레임 워크로 참조하면 동일한 결과를 얻습니다.

      이 작업을 수행하는 올바른 방법은 무엇입니까? 그들의 부분에서 지시가 없다 그래서 나는 이것을하기의 공정하게 똑 바른 앞으로 방법이이어야 한 ㄴ다는 것을 짐작한다.

      미리 감사드립니다.
      // Abeansits

  • +1

    나는 파일을 드래그 앤 드롭하면 모든 것을 컴파일 할 수 없다는 것과 같은 문제가있다. – DixieFlatline

    답변

    1

    나는 이걸로 고심하고있는 모든 사람들에게 내가 podspec을 CocoaPod의 저장소에 업로드했다고 말하고 싶다. 당신의 Podfile으로

    pod 'Tortuga22-NinePatch'

    을 당신은 나인 패치 NinePatch 지원을해야합니다 :

    이 프로젝트는 CocoaPods를 사용하는 경우 (? 그리고 왜 그 것이다), 당신은 단지 추가 할 수 있다는 것을 의미한다. (여전히 ARC 호환이 아니라는 것을 알기 바란다.)

    +1

    이것은 정말 오래된 질문이며 Cocoapods는 라이브러리를 추가하는 새로운 방법이므로 앞으로 가서 이 질문에 대한 답변으로. – ABeanSits

    0

    프로젝트에 파일을 추가 할 수 있어야합니다. this SO question에 대한 답변은 도움이됩니다.

    또한 UIImage는 신축성있는 이미지를 제공합니다. 자세한 내용은 -stretchableImageWithLeftCapWidth:topCapHeight:을 참조하십시오. 실제로 Android 앱과 리소스를 공유하기 위해 실제 9 가지 패치 형식으로 이미지를 읽어야하는 경우에는 도움이되지 않지만 실제로 필요한 것은 전부입니다.

    +0

    "NPParameterAssertNotNilIsKindOfClass (loggingTags, NSArray)"와 같은 줄에서 오류가 발생합니다. 또한 안드로이드와 resoruces 공유하고 싶습니다, 나는 이것이이 라이브러리로 가능하다고 생각 했습니까? – DixieFlatline

    0

    기본 헤더 파일을 필요로하는 클래스에 포함 시키거나 prefix.pch 파일에 포함합니까?

    0

    source package을 GitHub에서 다운로드하면 예제 프로젝트 인 NinePatchDemo가 포함 된 것을 알 수 있습니다. 이것을 검사하면 필요한 모든 정보를 얻을 수 있습니다.

    "기타 소스"아래 NinePatchDcode 프로젝트에 NinePatch Xcode 프로젝트를 방금 떨어 뜨린 것을 볼 수 있습니다. 동일한 방법으로 NinePatch 프로젝트를 자신의 것으로 드래그 앤 드롭 할 수 있습니다. 빌드 및 대상 설정을 확인하여 빌드하는 데 필요한 경로/라이브러리가 포함되어 있는지 확인할 수 있습니다.

    대상에 대한 기타 링커 플래그가 -all_load -ObjC 인 것처럼 보입니다. 프로젝트 폴더가 github에서 다운로드 한 것처럼 ninepatch 폴더와 동일한 수준에 있다면 헤더도 설정해야합니다. 대상의 경로를 ../NinePatch//**으로 검색합니다. 폴더를 이동 한 경우 그에 따라 달라질 수 있습니다. 내가 볼 수있는 유일한 것은 당신이, 물론, NinePatchDemo 나를 위해 잘 구축 #import <TUNinePatch.h>

    와 헤더를 포함해야합니다, 그래서 자신의 소스가 작업을 수행하는지 확인 할 수있는 것을 제외하고

    .

    +0

    안녕하세요 에반, 또한 ninepatch library.it을 추가하여 simulator.while에서 실행 중이며 오류 메시지가 표시됩니다. – banu

    +1

    실제로 라이브러리를 사용한 적이 없으며 위에 서드 파티 라이브러리를 설치하는 방법을 설명했습니다. 이것은 cocoapods 앞에 있었다). 프로젝트는 2 년 후에 업데이트되지 않은 것으로 보입니다. 아마도 대안을 찾거나 직접 포크로 실행시켜야합니다. –

    +0

    귀하의 정보를 가져 주셔서 감사합니다 Evan.if 9 개의 패치 이미지를 사용하고 있다는 것을 알고 계시다면 그 링크를 공유하십시오. 나와 다른 사람들에게 유용 할 것입니다. – banu

    1

    나는 이것이 오래된 질문이라는 것을 알고 있지만 객관적인 C에서 ninePatch를 검색하는 사람들을 돕기 위해, 나는 UIImage 클래스가 ios5에서 온다고 알려주고 ninePatch가하는 것을 할 방법이 있음을 알리고 싶다.UIImage reference에서

    :

    토론

    당신은 이미지의 기존 캡 세트 이미지 또는 변화에 캡 세트를 추가하려면이 방법을 사용합니다. 두 경우 모두 에 새 이미지가 적용되고 원래 이미지는 그대로 유지됩니다.

    이미지의 크기를 조정하거나 크기를 조정하는 동안 캡으로 덮인 부분은 비례가 조절되거나 크기가 조정되지 않습니다. 입니다. 대신 각 방향의 캡 으로 덮여 있지 않은 픽셀 영역은 왼쪽에서 오른쪽으로, 위에서 아래로 바둑판 식으로 배열되어 이미지의 크기가 이됩니다. 이 기법은 종종 가변 폭의 버튼을 만드는 데 사용되며, 동일한 둥근 모서리를 유지하지만 가운데 영역 이 필요에 따라 늘어나거나 줄어 듭니다. 최상의 성능을 얻으려면 크기가 1x1 픽셀 인 타일 된 영역 을 사용하십시오.

    가용성 iOS 5.0 이상에서 사용할 수 있습니다.

    UIImage* image = [UIImage imageNamed:@"YourImage.png"]; 
    image = [image resizableImageWithCapInsets:UIEdgeInsetsMake(25., 0, 0, 0)] 
    

    가 도움이 희망 : 당신이 수정 탑과 이미지를 원하는 경우

    는 UIImage.h

    사용의 예에서 선언.