2013-07-08 65 views
1

enter image description here如何使用系統字體調整操作頁面元素字體?

基本上我想用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

enter image description here

+2

對於這一點,你必須創建自己的自定義視圖。 – croyneaus4u

+0

我創建了一個選擇器,讓所有的字體都看到第二個圖像,但是在調用它時,Web視圖中的選定文本不會保持選定狀態,因此應用更改字體時它不起作用。 – iphonemaclover

+0

有沒有你使用網頁視圖而不是'UITextView'的原因?它爲不同的部分應用不同的字體爲你做了很多工作。您可以在顯示操作表之前抓住所選文本的範圍,然後將所選字體應用到該範圍,並在需要時重新選擇該字體。 – theMikeSwan

回答

1

您的問題在您的UITableView中,由於您沒有發佈UIActionSheetUITableView代碼的代碼,因此我創建了一個項目並上傳它D到A Github上(link),你可以找到我怎麼能設法調整使用以下屬性中行的文字:

cell.textLabel.adjustsFontSizeToFitWidth = YES; 
+0

嗨感謝您的快速回答,現在我不與我的Mac書,一旦我會回來後周末我會檢查 – iphonemaclover

+1

感謝它的工作好,所以我接受它作爲答案,但我已經使用CustomActionSheet。 – iphonemaclover

+0

作爲賞金或只是一個接受的答案的答案! – Scar

相關問題