2

参照フォルダーのカスタム フォントがフォント ファミリーに含まれていないため、使用できません。参照フォルダーの代わりに通常のグループを使用すると、すべてが完全に機能します。私Info.plistの正解です。ビルド フェーズに適切なコピー バンドル リソースがあります (参照されたフォルダーはそこにあり、その中のすべてのファイルではありません)。適切な PostScript 名も使用してい[UIFont fontWithName]ますが、単にnil.

メイン バンドルを確認すると、シミュレータ/デバイスにフォント ファイルがあり、問題なく読み取ることができます。唯一の問題は、それがUIFont見えないことです。フォント ファミリを一覧表示すると、カスタム フォントが表示されません。

この問題は、カスタム フォントが参照フォルダーまたはカスタム バンドル (参照フォルダーでもある) にある場合にのみ発生します。フォントを通常のグループに入れると、すべてが機能します。プロジェクトのクリーニング、アプリのアンインストール、iPhone シミュレーターのリセットを試みました。Xcode 4.6 と Appcode 2.1 からビルドすると、これと同じ問題が発生します。iOS 6.1 SDK に対してビルドしています。

iOS でのカスタム フォントの使用に関するすべてのヒントとコツを確認しましたが、唯一の違いは参照フォルダーです。他のプログラムでリソース (shader/textures/...) を作成し、それらをフォルダーに 1 つずつ追加するのではなく、フォルダーにコピーしたいので、リソースを参照フォルダー (またはカスタム バンドル) に入れたいと考えています。 Xコード。

私のアプローチの何が問題なのですか?それとも、これはビルド システムの既知のバグ/制限ですか?

4

2 に答える 2

4

別の問題を解決するときに解決策を見つけます(参照フォルダー/カスタムバンドルに移動したときにアイコンが見つからない)。

この問題の解決策は、plist ファイル内のカスタム フォントへのパス全体 (プロジェクトのディレクトリ内の相対パス全体) を使用することです。私の場合、次のようになります。

<key>UIAppFonts</key>
<array>
    <string>mybundle.bundle/fonts/OpenSans-Regular.ttf</string>
    <string>mybundle.bundle/fonts/OpenSans-Light.ttf</string>
</array>

Xcode の plist の「グラフィカル」表現を使用する場合は、そこにファイル名を含むパス全体を入力するだけです。

参照フォルダー/カスタム バンドルから他のリソース (ボタン アイコンの画像など) を使用し、それらをコードで設定する場合は、画像の名前だけでなく、パス全体も使用します。

[UIImage imageNamed:@"mybundle.bundle/images/cancel.png"]

ただの代わりに

[UIImage imageNamed:@"cancel.png"]
于 2013-08-12T09:06:17.547 に答える
0

これは Xcode の制限です。私は少し前に同じ問題を抱えていました。最終的には、ココア ポッドと同じようにコードをきれいなフォルダーに再パッケージ化するパッケージングまたはコレクション オプションが XCode に追加されることを願っていますが、今のところ行き詰まっています。

于 2013-08-09T15:53:24.393 に答える