Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.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
Swift attributedString的Fontsize不';不变_Swift_Font Size_Nsattributedstring - Fatal编程技术网

Swift attributedString的Fontsize不';不变

Swift attributedString的Fontsize不';不变,swift,font-size,nsattributedstring,Swift,Font Size,Nsattributedstring,我有一个属性字符串,只想更改它的字体大小。为此,我使用了在StackOverflow上找到的另一种方法。在大多数情况下,这是可行的,但在一种情况下,它不会改变整个attributedString 更改大小的方法: /** *A struct with static methods that can be useful for your GUI */ struct GuiUtils { static func setAttributedStringToSize(attributedString:

我有一个
属性字符串
,只想更改它的字体大小。为此,我使用了在StackOverflow上找到的另一种方法。在大多数情况下,这是可行的,但在一种情况下,它不会改变整个
attributedString

更改大小的方法:

/**
*A struct with static methods that can be useful for your GUI
*/
struct GuiUtils {

static func setAttributedStringToSize(attributedString: NSAttributedString, size: CGFloat) -> NSMutableAttributedString {
    let mus = NSMutableAttributedString(attributedString: attributedString)
    mus.enumerateAttribute(.font, in: NSRange(location: 0, length: mus.string.count)) { (value, range, stop) in
        if let oldFont = value as? UIFont {
            let newFont = oldFont.withSize(size)
            mus.addAttribute(.font, value: newFont, range: range)
        }
    }
    return mus
  }
}
工作:

    label.attributedText = GuiUtils.setAttributedStringToSize(attributedString: attributedString, size: fontSize)
不工作:

    mutableAttributedString.replaceCharacters(in: gapRange, with: filledGap)
    label.attributedText = GuiUtils.setAttributedStringToSize(attributedString: mutableAttributedString.replaceCharacters, size: fontSize)

不知何故,被替换的文本不会改变其大小。

对不起,但是您确定您的
filledMap
属性字符串具有
font
属性吗?因为如果没有–此部分将不会由
enumerateAttribute
块处理


在这种情况下,您的解决方案只是将任何字体设置为整个
filledMap
字符串,以确保它的一部分将由
enumerateAttribute
块处理。

对不起,但是您确定
filledMap
属性字符串具有
font
属性吗?因为如果没有–此部分将不会由
enumerateAttribute
块处理

在这种情况下,您的解决方案只是将任何字体设置为整个
filledMap
字符串,以确保它的一部分将由
enumerateAttribute
块处理