基本的には、Web ビューを備えたリッチ テキスト フォーマット エディターを作成したいと考えています。
以下のコードを使用して、デバイス内のすべてのフォントの名前を取得しました。Web ビューでテキストを選択し、そのフォントを適用したいので、アクション シートを選択してすべての名前を表示し、フォントを設定します。私の問題は、一部のフォント名が大きすぎて、すべてが同じフォント スタイルで設定されていることです。フォント名をフォントの実際のスタイルとして表示したい。
// array
NSMutableArray *fontNames = [[NSMutableArray alloc] init];
// get font family
NSArray *fontFamilyNames = [UIFont familyNames];
// loop
for (NSString *familyName in fontFamilyNames)
{
NSLog(@"Font Family Name = %@", familyName);
// font names under family
NSArray *names = [UIFont fontNamesForFamilyName:familyName];
NSLog(@"INSIDE LOOP Font Names = %@", fontNames);
// add to array
[fontNames addObjectsFromArray:names];
}
NSLog(@"OUT OF LOOP Font Names = %@", fontNames);
// [fontNames release];
そして、これがWebViewで選択したテキストに選択フォントを適用する方法です:
NSString *selectedButtonTitle = [actionSheet buttonTitleAtIndex:buttonIndex];
selectedButtonTitle = [selectedButtonTitle lowercaseString];
if ([actionSheet.title isEqualToString:@"Select a font"])
{
[printContentWebView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.execCommand('fontName', false, '%@')", selectedButtonTitle]];
}
そして、アクションシートにそのような出力が必要です