2017-04-09 4 views
0

나는 이미 react-native start을 실행 한 다음 react-native run-ios을 실행했습니다. 그래서 내 애플 리케이션이 실행 중입니다.벡터 글꼴이 작동하지 않습니다

ios-glyphs.ttf를 루트 디렉토리에있는 font라는 폴더에 넣었습니다. 그래서 ./fonts. 그때 나는이 package.json에 추가 :

"rnpm": { 
    "assets": [ 
     "fonts" 
    ] 

은}

그때 react-native link을 달렸다.

그건 내 응용 프로그램에서 나는 Rende의 추가 후 :

내 응용 프로그램은 괜찮지 만의 부하에
<Text style={{fontFamily:'ios-glyphs'}}>&#xf193;</Text> 

나는 "인식 할 수없는 폰트 패밀리 'IOS를 얻을이 사용자 정의 글꼴을 렌더링하는 페이지를로드 할 때 " '-glyphs, 여기 스크린 샷입니다 : http://i.imgur.com/G6hwlor.png

페이지 않는 오류를 기각 후 부하하지만 아이콘이 상자에 물음표처럼 보이지만 내 진짜 아이콘이 스타 :

나는 펑키 한 일을했다. 나는 잘못 연결된 것으로 생각하여 폴더 경로를 변경하고 글꼴을 새 폴더로 옮기고 다시 링크했습니다. 그런 다음 xcode에 들어가서 "자원"에서 두 가지를 보았습니다. 그래서 폴더가 더 이상 존재하지 않았으므로 첫 번째 파일을 삭제했습니다.

누구든지이 오류를 해결하는 방법을 알고 있습니까? 이 커밋을 버려야할까요? 내가 아무것도 연결 한 적이없는 것처럼 만들 것인가? xcode로 프로젝트를 망쳤다는 걱정이됩니다.

답변

1

대단히 감사합니다. @sfratini - React-Native can't resolve module for fonts -이 글꼴 이름은 실제로 튜토리얼에서 암시 한 것처럼 파일 이름과 완전히 다릅니다.

실제 글꼴 이름을 어떻게 찾았는지는 @ sfratini의 지침을 따르는 것이 었습니다.

xcode를 열고 xcode로 내 프로젝트 폴더에 ios 폴더를 열었습니다.

NSArray *families = [[UIFont familyNames] sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)]; 
    NSMutableString *fonts = [NSMutableString string]; 
    for (int i = 0; i < [families count]; i++) { 
    [fonts appendString:[NSString stringWithFormat:@"\n%@:\n", families[i]]]; 
    NSArray *names = [UIFont fontNamesForFamilyName:families[i]]; 
    for (int j = 0; j < [names count]; j++) { 
     [fonts appendString:[NSString stringWithFormat:@"\t%@\n", names[j]]]; 
    } 
    } 
    NSLog(@"%@", fonts); 

그런 다음 콘솔 로그에 새로운 아이콘을 찾을 수 :

나는 다음이 코드를 AppDelegate.m에 추가.

내 프로젝트 폴더 : 엑스 코드와

열기 : 폴더에

을 클릭 한 다음 AppDelegate에 추가 할 수 있습니다.코드가 다음 저장하고 하나 react-native run-ios 누르거나 실행 있어요 아래 스크린 샷과 같이 단추를 "재생"(당신은 다시 컴파일해야, 나는 뜨거운 재로드가 작동합니다 의심하지만 테스트하지 않았다) :

나서 글꼴 이름의 전체 목록은 콘솔 로그에서 침을 얻을 :

나는 내 글꼴 이름을 찾기 위해 DIFF를 다음 연결 후 연결하기 전에 글꼴을했고,했다.

관련 문제