iOS – 如何在swift中使用`NSMutableString`

iOS – 如何在swift中使用`NSMutableString`,第1张

概述我已经看过这个Objective-C代码,但我很难在 swift中做同样的事情: NSMutableAttributedString *res = [self.richTextEditor.attributedText mutableCopy];[res beginEditing];__block BOOL found = NO;[res enumerateAttribute:NSFont 我已经看过这个Objective-C代码,但我很难在 swift中做同样的事情:

NSMutableAttributedString *res = [self.richTextEditor.attributedText mutablecopy];[res beginEditing];__block BOol found = NO;[res enumerateAttribute:NSFontAttributename inRange:NSMakeRange(0,res.length) options:0 usingBlock:^(ID value,NSRange range,BOol *stop) {    if (value) {        UIFont *oldFont = (UIFont *)value;        UIFont *newFont = [oldFont FontWithSize:oldFont.pointSize * 2];        [res removeAttribute:NSFontAttributename range:range];        [res addAttribute:NSFontAttributename value:newFont range:range];        found = YES;    }}];if (!found) {    // No Font was found - do something else?}[res endEditing];self.richTextEditor.attributedText = res;

我试图通过迭代每个属性来更改NSMutableAttributedString中的字体.我很高兴听到有更好的方法,但如果有人能帮助我翻译上述内容,我会感到非常满意.

解决方法 这是一个基本的实现.这对我来说似乎很简单,你没有提供你的尝试,所以我不确定你是否有类似的东西,它有问题,或者如果你刚刚接触Swift.

一个区别是这个实现使用可选的转换(如?),我这样做是为了演示这个概念.实际上,这不需要是可选的,因为NSFontAttributename保证提供UIFont.

var res : NSMutableAttributedString = NSMutableAttributedString(string: "test");res.beginEditing()var found = falseres.enumerateAttribute(NSFontAttributename,inRange: NSMakeRange(0,res.length),options: NSAttributedStringEnumerationoptions(0)) { (value,range,stop) -> VoID in    if let oldFont = value as? UIFont {        let newFont = oldFont.FontWithSize(oldFont.pointSize * 2)        res.removeAttribute(NSFontAttributename,range: range)        res.addAttribute(NSFontAttributename,value: newFont,range: range)        found = true    }}if found == false {}res.endEditing()
总结

以上是内存溢出为你收集整理的iOS – 如何在swift中使用`NSMutableString`全部内容,希望文章能够帮你解决iOS – 如何在swift中使用`NSMutableString`所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1032695.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存