2015-05-15 11 views
10

Ich habe eine UIButton, die ich in Interface Builder einen attributierten Titel gegeben habe: sie hat eine bestimmte Schriftart, und ein Teil der Zeichenfolge hat eine andere Farbe.Zugeschrieben Titelattribute, die im Interface Builder auf UIButton gesetzt sind, werden in der App ignoriert

Wenn ich meine App laden, wird die Farbe beibehalten, aber die App kehrt die Schriftart auf System-Standard zurück ...

Wer diese Erfahrung oder eine Art und Weise kennen zu beheben? Ich wollte vermeiden, die zugewiesenen Titel im Code zu setzen.

Wenn es darauf ankommt, ist die Schriftart, die ich verwende, Open Sans, und es zeigt korrekt auf anderen Etiketten, wo ich die Schriftart in Code angegeben habe.

+0

Hatte genau das gleiche Problem mit einem 'UILabel' (zugeschrieben mit einer benutzerdefinierten Schriftart in IB). Scheint wie ein Fehler ... – Alladinian

+1

Haben Sie versucht, wenn Sie es durch Code einstellen können? Und welche Version von iOS verwenden Sie? Ich hatte ein Problem, dass bestimmte Attribute nicht auf Etiketten, Schaltflächen usw. auf 8.1 angewendet wurde, aber in allen anderen Versionen gut funktionierte. Nicht sicher, warum das so ist. Ich möchte nur wissen, ob diese ähnliche –

+0

Funktioniert in Code. Hoffte, dass es vom Interface Builder funktioniert. Dies läuft auf iOS 8.3 Simulator. Ich werde verschiedene Versionen ausprobieren, denke ich. – Adama

Antwort

0

Ich hatte das gleiche Problem vor einer Woche. Ich benutzte auch Open Sans. Aber jedes Mal, wenn ich versuchte zu bauen, bekam ich einen Kompilierungsfehler, der nirgendwohin zeigte.

Wie auch immer .. Ich habe nur eine Beschriftung hinzugefügt und konfiguriert, wie ich es wollte.

2

Haben Sie versucht, Text auszuwählen, bevor Sie die Schriftart der Schaltfläche ändern? example?

+1

Definitiv. Die Schriftart wird korrekt in IB angezeigt, nur nicht in der App. – Adama

-1

Ich hatte das gleiche Problem mit Ihnen, aber UIButton, My UILable wurde in neue Zeichenfolge geändert, und ich sicher, dass es auf Interface Builder geändert wurde. Aber es ist immer noch alte Zeichenfolge, wenn Sie es bauen. Ich habe Interface-Builder im Quellcode geöffnet. Suche die alte Saite, Es ist immer noch da. Einfach entfernt, um das Problem zu beheben. (Ich weiß nicht, warum das passiert). Vielleicht solltest du IB öffnen, um sicherzugehen.

Ich hoffe, es hilft Ihnen.

0
NSMutableParagraphStyle *style = [[NSParagraphStyle defaultParagraphStyle] mutableCopy]; 
    [style setAlignment:NSTextAlignmentCenter]; 
    [style setLineBreakMode:NSLineBreakByWordWrapping]; 

    NSDictionary *dict1 = @{NSFontAttributeName:[UIFont fontWithName:@"Varela Round" size:15.0f], 
          NSForegroundColorAttributeName:[UIColor whiteColor], 
          NSParagraphStyleAttributeName:style}; 
    NSDictionary *dict2 = @{NSFontAttributeName:[UIFont fontWithName:@"Varela Round" size:10.0f], 
          NSForegroundColorAttributeName:[UIColor whiteColor], 
          NSParagraphStyleAttributeName:style}; 

    NSMutableAttributedString *attString = [[NSMutableAttributedString alloc] init]; 
    [attString appendAttributedString:[[NSAttributedString alloc] initWithString:@"Expensed\n" attributes:dict1]]; 
    [attString appendAttributedString:[[NSAttributedString alloc] initWithString:@"Tap to edit"  attributes:dict2]]; 
    [cell.expenseTripButton setAttributedTitle:attString forState:UIControlStateNormal]; 
    [[cell.expenseTripButton titleLabel] setNumberOfLines:0]; 
    [[cell.expenseTripButton titleLabel] setLineBreakMode:NSLineBreakByWordWrapping]; 
Verwandte Themen