Nie mogę znaleźć sposobu na ustawienie rozmiaru czcionki tytułu w niestandardowym obiekcie UIBarButtonItem. Jedynym sposobem, w jaki mogę to obejść, jest ustawienie go jako obrazu, którego chciałbym uniknąć. Jakieś inne sugestie?Jak ustawić rozmiar czcionki na UIBarButtonItem?
Odpowiedz
Jako konkretny przykład tego, co sugeruje KennyTM należy utworzyć UIBarButtonItem z czymś następnym (w kodzie):
UILabel *txtLabel = [[UILabel alloc] initWithFrame:rect];
txtLabel.backgroundColor = [UIColor clearColor];
txtLabel.textColor = [UIColor lightGrayColor];
txtLabel.text = @"This is a custom label";
UIBarButtonItem *btnText = [[[UIBarButtonItem alloc] initWithCustomView:txtLabel] autorelease];
Następnie, można dodać go jako wyśrodkowany tekst na UIToolbar (na przykład) z następujących powodów:
UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:rect];
toolBar.barStyle = UIBarStyleBlackTranslucent;
UIBarButtonItem *flexSpace1 = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil] autorelease];
UIBarButtonItem *flexSpace2 = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil] autorelease];
[toolBar setItems:[NSArray arrayWithItems:flexSpace1, btnText, flexSpace2, nil]];
(oczywiście, aby uzyskać właściwą sformatowaniu, rect
wykorzystywane do inicjowania txtLabel
i toolBar
powinny być odpowiednie rozmiary .... ale to inna ćwiczenie!)
Możesz dokonać poprawnego rozmiaru używając [txtLabel sizeToFit]. Na marginesie nie jestem pewien, czy ta metoda zachowa niebieskie tło kapsułki jako element przycisku, więc może być konieczne użycie niestandardowej grafiki. Ale najlepiej, ponieważ nie możesz ustawić rozmiaru czcionki elementu paska, jeśli zainicjujesz go z tytułem. – axiixc
Powinieneś również ustawić rozmiar klatki etykiety. W moim przypadku żadne elementy nie były wyświetlane, ponieważ zostały zainicjowane przy szerokości i wysokości 0. – sprinter252
W łatwy sposób, po prostu:
Objective-C:
NSUInteger fontSize = 20;
UIFont *font = [UIFont boldSystemFontOfSize:fontSize];
NSDictionary *attributes = @{NSFontAttributeName: font};
UIBarButtonItem *item = [[UIBarButtonItem alloc] init];
[item setTitle:@"Some Text"];
[item setTitleTextAttributes:attributes forState:UIControlStateNormal];
self.navigationItem.rightBarButtonItem = item;
Swift:
let fontSize:CGFloat = 20;
let font:UIFont = UIFont.boldSystemFont(ofSize: fontSize);
let attributes:[String : Any] = [NSFontAttributeName: font];
let item = UIBarButtonItem.init();
item.title = "Some Text";
item.setTitleTextAttributes(attributes, for: UIControlState.normal);
self.navigationItem.rightBarButtonItem = item;
Możesz również użyć proxy 'UIAppearance' do' setTitleTextAttributes'. – livingtech
Niewielka uwaga: wartość klucza UITextAttributeFont została uznana za przestarzałą w systemie iOS 7, można zamiast tego użyć nazwy NSFontAttributeName. –
świetnie, dziękuję .. !!! – tesmojones
[[UIBarButtonItem appearance]setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor colorWithRed:245.0/255.0 green:245.0/255.0 blue:245.0/255.0 alpha:1.0], NSForegroundColorAttributeName,
[UIFont fontWithName:@"FONT-NAME" size:21.0], NSFontAttributeName, nil]
forState:UIControlStateNormal];
- 1. Zmień rozmiar czcionki i kolor czcionki UIBarButtonItem
- 2. JTextPane: Jak ustawić rozmiar czcionki
- 3. Jak ustawić rozmiar czcionki względem div rodzica?
- 4. Jak ustawić rozmiar czcionki tekstu w Unity?
- 5. Jak ustawić rozmiar czcionki elementu tekstowego Canvas?
- 6. jak ustawić rozmiar czcionki LaTeX w milimetrach?
- 7. Jak ustawić rozmiar czcionki w tabeli krewetek?
- 8. Jak ustawić rozmiar czcionki dla UITextView?
- 9. jak ustawić rozmiar czcionki font-family
- 10. Jak zmienić rozmiar obrazu UIBarButtonItem
- 11. Chart.js osi rozmiar czcionki czcionki
- 12. Jak ustawić tytuł dla UIBarButtonItem?
- 13. Jak ustawić rozmiar czcionki w legendzie osi Matplotlib?
- 14. Jak ustawić dowolny rozmiar czcionki (np. 32pt) za pomocą \ setbeamerfont?
- 15. Jak ustawić rozmiar czcionki punktorów i numerów pozycji w tinyMCE?
- 16. Rozmiar czcionki na Twitterze Bootstrap
- 17. rozmiar czcionki na telefonie komórkowym
- 18. Ustaw rozmiar czcionki wartości liczb na osi
- 19. Jak ustawić rozmiar czcionki dla elementów w Xamarin Picker?
- 20. Jak ustawić rozmiar czcionki dla tekstu przycisków dialogowych?
- 21. Jak ustawić rozmiar czcionki dla bloków kodu w przecinku pandoc?
- 22. jak ustawić rozmiar czcionki eksportowanej tabeli w pliku jspdf.js?
- 23. Dostosuj rozmiar czcionki FPDF
- 24. Jak ustawić akcję dla UIBarButtonItem w Swift
- 25. Jak zmienić rozmiar czcionki uitextview
- 26. CATextLayer ignoruje rozmiar czcionki
- 27. Jak zmienić rozmiar czcionki nagłówka panoramy?
- 28. Jak ustawić iOS jako gradient na obrazie UIBarButtonItem?
- 29. Jak ustawić rozmiar końcówki jqueryui tooltip size
- 30. Swift Zwiększ rozmiar czcionki widoku UITextview, jak?
Oto podobne pytanie. http://stackoverflow.com/questions/5421121/change-font-size-via-uibarbuttonitem-in-uitextview-works-just-once – acecapades