Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在objective c中使用html保存粗体字体?_Html_Objective C_Iphone - Fatal编程技术网

如何在objective c中使用html保存粗体字体?

如何在objective c中使用html保存粗体字体?,html,objective-c,iphone,Html,Objective C,Iphone,我在uitextview中键入了一些文本,并且选择了一些文本并将其加粗。之后,我将把这些数据保存到我的应用程序中。现在,当我要获取这些数据时,它将不会显示与我保存的数据相同的内容 它不保存粗体字体 代码如下: pragma标记-btnActions pragma标记-私有方法实现 pragma标记-btnSave 任何一个html都可以帮我吗?问题是您保存的是textView的纯文本,而不是attributedText NSString*htmlCode=txtViewNote.text 相反,

我在uitextview中键入了一些文本,并且选择了一些文本并将其加粗。之后,我将把这些数据保存到我的应用程序中。现在,当我要获取这些数据时,它将不会显示与我保存的数据相同的内容

它不保存粗体字体

代码如下:

pragma标记-btnActions pragma标记-私有方法实现 pragma标记-btnSave
任何一个html都可以帮我吗?

问题是您保存的是textView的纯文本,而不是attributedText

NSString*htmlCode=txtViewNote.text

相反,您应该像这样保存属性化文本:

如果要将htmlCode写入textView,应:

NSMutableAttributedString *tmp = [[NSMutableAttributedString alloc] initWithData:htmlData options:@{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute: @(NSUTF8StringEncoding)} documentAttributes:nil error:nil];
[txtViewNote setAttributedText:tmp];

抱歉,htmlData应该是:NSData*htmlData=[txtViewNote.attributedText-dataFromRange:NSMakeRange(0,txtViewNote.attributedText.length)文档属性:属性错误:NULL];tmp应该是:NSMutableAttributedString*tmp=[[NSMutableAttributedString alloc]initWithData:htmlData选项:@{NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType,NSCharacterEncodingDocumentAttribute:@(NSUTF8StringEncoding)}DocumentAttribute:nil错误:nil];[txtViewNote setAttributedText:tmp];我会在帖子中编辑这个。
-(void)addOrRemoveFontTraitWithName:(NSString *)traitName andValue:(uint32_t)traitValue{
NSRange selectedRange = [txtViewNote selectedRange];

NSDictionary *currentAttributesDict = [txtViewNote.textStorage attributesAtIndex:selectedRange.location
                                                                  effectiveRange:nil];

UIFont *currentFont = [currentAttributesDict objectForKey:NSFontAttributeName];

UIFontDescriptor *fontDescriptor = [currentFont fontDescriptor];

NSString *fontNameAttribute = [[fontDescriptor fontAttributes] objectForKey:UIFontDescriptorNameAttribute];
UIFontDescriptor *changedFontDescriptor;

if ([fontNameAttribute rangeOfString:traitName].location == NSNotFound) {
    uint32_t existingTraitsWithNewTrait = [fontDescriptor symbolicTraits] | traitValue;
    changedFontDescriptor = [fontDescriptor fontDescriptorWithSymbolicTraits:existingTraitsWithNewTrait];
}
else{
    uint32_t existingTraitsWithoutTrait = [fontDescriptor symbolicTraits] & ~traitValue;
    changedFontDescriptor = [fontDescriptor fontDescriptorWithSymbolicTraits:existingTraitsWithoutTrait];
}

UIFont *updatedFont = [UIFont fontWithDescriptor:changedFontDescriptor size:0.0];

NSDictionary *dict = @{NSFontAttributeName: updatedFont};

[txtViewNote.textStorage beginEditing];
[txtViewNote.textStorage setAttributes:dict range:selectedRange];
[txtViewNote.textStorage endEditing];
}
-(IBAction)btnSave:(id)sender
  {
            NSURL *documentDirectoryURL = [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];

            NSURL *documentURL = [documentDirectoryURL URLByAppendingPathComponent:@"test.html"];


            NSString *htmlCode = txtViewNote.text;

            NSError* error;

            if (![htmlCode writeToURL:documentURL atomically:YES encoding:NSUTF8StringEncoding error:&error]) {
                NSLog(@"Couldn't save file because: %@", error);
            }

            NSString* fileToUpload = [NSString stringWithContentsOfURL:documentURL encoding:NSUTF8StringEncoding error:&error];

            if (!fileToUpload) {
                NSLog(@"Couldn't read file because: %@", error);
            }


}
NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:NSHTMLTextDocumentType,NSDocumentTypeDocumentAttribute, nil];
NSData *htmlData = [[self txtViewNote].attributedText dataFromRange:NSMakeRange(0, [self txtViewNote].attributedText.length) documentAttributes:attributes error:NULL];
NSString *htmlCode = [[NSString alloc]initWithData:htmlData encoding:NSUTF8StringEncoding];
NSMutableAttributedString *tmp = [[NSMutableAttributedString alloc] initWithData:htmlData options:@{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute: @(NSUTF8StringEncoding)} documentAttributes:nil error:nil];
[txtViewNote setAttributedText:tmp];