diff --git a/ChainedAttributedString/NSMutableAttributedString+ChainedAttributes.swift b/ChainedAttributedString/NSMutableAttributedString+ChainedAttributes.swift index 1eac828..e7ad517 100644 --- a/ChainedAttributedString/NSMutableAttributedString+ChainedAttributes.swift +++ b/ChainedAttributedString/NSMutableAttributedString+ChainedAttributes.swift @@ -220,6 +220,31 @@ public extension NSMutableAttributedString { return self } + /** + This function adds paragraph style with text alignment attributed string. + + - warning: If text passed in "text" parameter is not found, attribute will be applied to whole attributed string. Only first occurence of "text" is styled. + + - parameter alignment - NSTextAlignment which should be applied as alignment to the paragraph style + - parameter text - String for which the paragraph style will be applied to (optional, default = whole attributed string) + + - returns: Modified NSMutableAttributedString + */ + func alignment(_ alignment:NSTextAlignment, forText text:String? = nil) -> NSMutableAttributedString { + + var attributeRange:NSRange? = nil + if let textForAttribute = text { + attributeRange = self.getRangeOfStringInSelf(textForAttribute) + } + + let paragraphStyle = NSMutableParagraphStyle() + paragraphStyle.alignment = .center + + self.applyAttribute(NSParagraphStyleAttributeName, withValue: paragraphStyle as AnyObject, forRange: attributeRange) + + return self + } + // MARK: Clear attributes /** diff --git a/Example/Example/ViewController.swift b/Example/Example/ViewController.swift index c197ff6..137b843 100644 --- a/Example/Example/ViewController.swift +++ b/Example/Example/ViewController.swift @@ -27,7 +27,7 @@ class ViewController: UIViewController { .strikeThrough(2, forText: "shows") .strikeThroughColor(UIColor.blue) .underline(2, forText: "attributes") - + .alignment(.center) } }