Ich verwandle einige Apps für iOS7 und habe Probleme mit dem Text in Schaltflächen in der Symbolleiste platziert. Sieht so aus, als wäre die Schriftgröße viel größer und eine Größenänderung nicht möglich. So sind meine Texttasten, die in iOS6 so gut gepasst haben, nicht mehr möglich. Der Bildschirm ist nicht breit genug. Ist es möglich, dies anzupassen, ohne die gesamte App neu zu erstellen? Warum diese blöde Veränderung? Ich möchte die Apps aus mehreren anderen Gründen wirklich an iOS7 anpassen.Toolbar Artikel Schriftgröße in iOS7
12
A
Antwort
22
Sie können die Titeltextattribute von UIBarItems (einschließlich UIBarButtonItems) mithilfe von setTitleTextAttributes:forState:
festlegen. Um zum Beispiel den Titeltext Schriftart für alle UIBarButtonItems zu setzen, können Sie dies tun:
[[UIBarButtonItem appearance] setTitleTextAttributes:@{NSFontAttributeName : [UIFont boldSystemFontOfSize:9.0]} forState:UIControlStateNormal];
Oder setzen sie nur für eine,
[myBarButton setTitleTextAttributes:@{NSFontAttributeName : [UIFont boldSystemFontOfSize:9.0]} forState:UIControlStateNormal];
können Sie auch UIBarButtonItems erstellen, die UIButtons enthalten, und haben vollständige Kontrolle darüber, wie diese UIButtons angezeigt werden (Schriftart, Schriftgröße usw.). Dies kann im Interface Builder gemacht werden, indem ein UIButton auf Ihre UIToolbar verschieben oder Code:
UIButton* button = ...;
UIBarButtonItem* barButton = [[UIBarButtonItem alloc] initWithCustomView:button];
[toolbar setItems:@[barButton, ...] animated:YES];
Beachten Sie, dass Ihre IBActions/segues zum UIButton angeschlossen werden müssen statt der UIBarButtonItem, wenn Sie diesen Ansatz .
0
Swift:
UIToolbar.appearance().barTintColor = TOOLBAR_BACKGROUND_COLOR
if let font = UIFont(name: "AvenirNext-DemiBold", size: 15) {
UIBarButtonItem.appearance().setTitleTextAttributes([NSFontAttributeName: font,NSForegroundColorAttributeName:TOOLBAR_TITLE_COLOR], forState: UIControlState.Normal)
}
Wird das versuchen sehr bald. –