2017-01-23 12 views
0
import Foundation 
import UIKit 


extension NSMutableAttributedString { 

    @discardableResult 
    public func setAsLink(textToFind: NSMutableAttributedString, linkURL: String) -> Bool { 

     let foundRange = self.mutableString.range(of: textToFind) 
     if foundRange.location != NSNotFound { 
      self.addAttribute(NSLinkAttributeName, value: linkURL, range: foundRange) 
      return true 
     } 
     return false 
    } 
} 



@IBDesignable 
class SignUpLabel: UILabel { 

    override func layoutSubviews() { 
     super.layoutSubviews() 

     let normalText = "Don't have an account yet? " 
     let normalString = NSMutableAttributedString(string: normalText) 

     let boldText = "Sign up now!" 
     let attrs = [NSFontAttributeName : UIFont.boldSystemFont(ofSize: 14)] 
     let attributedString = NSMutableAttributedString(string: boldText, attributes: attrs) 

     normalString.append(attributedString) 

     self.attributedText = normalString 

     normalString.setAsLink(textToFind: attributedString, linkURL: "http://www.someaddress.com") 

    } 

} 

let foundRange = self.mutableString.range(of: textToFind)は、文字列が必要ですが、私はそう、私はラベルの特定の部分に重みを加えることができるだろうNSMutableAttributedStringとして、それを宣言しました。パート

私はそれを理解できません。誰かが修正を私に助けてくれますか?とても感謝しております。

答えて

0

NSMutableAttributedStringは、というプロパティを持っています。それにアクセスして検索を許可するには、yourMutableAttributedString.stringを引数として使用します。