У меня есть следующая функция, которая создает массив атрибутов. Мне нравится повторно использовать эти атрибуты для большого количества textdrawing.Как изменить шрифт массива атрибутов (swift, ios)
func getFontAttributes(fTextSize:CGFloat, color:UIColor, alignment:String) -> [NSObject : AnyObject]{
let fieldFont = UIFont(name: "Helvetica Neue", size: fTextSize)
var paraStyle = NSMutableParagraphStyle()
paraStyle.lineSpacing = 6.0
if (alignment=="left"){
paraStyle.alignment = NSTextAlignment.Left;
}else if(alignment=="right"){
paraStyle.alignment = NSTextAlignment.Right;
}else{
paraStyle.alignment = NSTextAlignment.Center;
}
var skew = 0.1
let attributes = [
NSForegroundColorAttributeName: color,
NSParagraphStyleAttributeName: paraStyle,
NSObliquenessAttributeName: skew,
NSFontAttributeName: fieldFont!
]
return attributes;
}
Как я могу изменить только один атрибут моих атрибутов (например, fontsize)? Мне не нравится снова вызвать функцию getFontAttributes.
let attributes=getFontAttributes(14, UIColor.darkGrayColor(),"left");
attributes.setFontSize(16); // <----- Howto do ?
Я уверен, что это должно быть возможно, но я придерживаюсь синтаксиса и typeconversion.
Perfect. Это работает ! Это дает мне новый взгляд на словари в ios. Большое спасибо. –