2015-07-04 12 views
5

Chcę zmienić odstępy między znakami w tytule paska nawigacji. Próbuję użyć następującego kodu.Zmiana odstępów między znakami w tytule paska nawigacyjnego swift

let attributedString = NSMutableAttributedString(string: "New Title") 
     attributedString.addAttribute(NSKernAttributeName, value: CGFloat(1.4), range: NSRange(location: 0, length: 9)) 



     self.navigationItem.title = attributedString 

To daje następujący błąd: „ciąg”

nie można przypisać wartości typu „NSMutableAttributedString” do wartości typu

Czy ktoś może mi w tym pomóc lub zaproponować inny sposób zmiany odstępów między znakami w tytule paska nawigacyjnego w szybkim tempie?

Odpowiedz

13

Nie można ustawić przypisanego ciągu bezpośrednio.

Można zrobić trick zastępując titleView

let titleLabel = UILabel() 
let colour = UIColor.redColor() 
let attributes: [NSString : AnyObject] = [NSFontAttributeName: UIFont.systemFontOfSize(12), NSForegroundColorAttributeName: colour, NSKernAttributeName : 5.0] 
titleLabel.attributedText = NSAttributedString(string: "My String", attributes: attributes) 
titleLabel.sizeToFit() 
self.navigationItem.titleView = titleLabel 

enter image description here

0

Odpowiedź Ashish Kakkad mieć lekką porażkę dla Swift 2. Wystąpił błąd konwersji z NSString.

więc poprawny kod to:

let titleLabel = UILabel() 
let colour = UIColor.redColor() 
let attributes: [String : AnyObject] = [NSFontAttributeName:UIFont.systemFontOfSize(12), NSForegroundColorAttributeName: colour, NSKernAttributeName : 5.0] 
titleLabel.attributedText = NSAttributedString(string: "My String", attributes: attributes) 
titleLabel.sizeToFit() 
self.navigationItem.titleView = titleLabel 
Powiązane problemy