基本上我想用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]];
}
而且我想這樣的輸出在我actionsheet
對於這一點,你必須創建自己的自定義視圖。 – croyneaus4u
我創建了一個選擇器,讓所有的字體都看到第二個圖像,但是在調用它時,Web視圖中的選定文本不會保持選定狀態,因此應用更改字體時它不起作用。 – iphonemaclover
有沒有你使用網頁視圖而不是'UITextView'的原因?它爲不同的部分應用不同的字體爲你做了很多工作。您可以在顯示操作表之前抓住所選文本的範圍,然後將所選字體應用到該範圍,並在需要時重新選擇該字體。 – theMikeSwan