Wyobraź sobie UILabel, który ma 200 pikseli szerokości i 50 pikseli wysokości. Etykieta ma tekst wewnątrz, a etykieta powoduje, że tekst jest mniejszy, dzięki czemu pasuje do etykiety. A teraz, skąd wziąłbyś rozmiar tego UFontu, jak jest widoczny na etykiecie? Wyobraźmy sobie, że rozmiar czcionki został podany przy użyciu ogromnej liczby 100, a etykieta zmniejsza ją do 15. A następnie, chcesz utworzyć inne etykiety z małym tekstem, który ma taki sam rozmiar czcionki. Czy istnieje sposób na uzyskanie rozmiaru czcionki UIFont po ściśnięciu przez etykietę?Jak obliczyć rozmiar UIFont, gdy tekst w etykiecie jest ograniczony do szerokości?
6
A
Odpowiedz
15
Jeśli przejdzie rozmiar UILabel i breakMode itp do:
CGSize size = [label.text sizeWithFont:label.font minFontSize:10 actualFontSize:&actualFontSize forWidth:200 lineBreakMode:UILineBreakModeTailTruncation];
actualFontSize powinno być to, czego szukasz.
AKTUALIZACJA:
Powyższe informacje zostały uznane za przestarzałe. Sposób korzystania teraz jest:
- (CGRect)textRectForBounds:(CGRect)bounds
limitedToNumberOfLines:(NSInteger)numberOfLines
Oto przykład
CGSize size = [label textRectForBounds:label.bounds
limitedToNumberOfLines:1].size;
Powiązane problemy
- 1. Tekst nie jest zawijany w etykiecie etykiety
- 2. Dlaczego rozmiar UIFont sizeWithFont zawiera puste miejsce w obliczeniach?
- 3. Jak obliczyć szerokość ciągu tekstowego określonej czcionki i rozmiaru czcionki?
- 4. dlaczego rozmiar stosu jest tak ograniczony?
- 5. Niestandardowy tekst do szyn form_for etykiecie
- 6. Jak wyrównać tekst do centrum w etykiecie asp
- 7. Jak przywrócić tekst do określonej szerokości?
- 8. Jak zmienić kolor UIFont?
- 9. Wprowadzić tekst w etykiecie dla przycisku radiowego?
- 10. Jak obliczyć rozmiar fragmentu tekstu w Win2D
- 11. Jak obliczyć rozmiar pliku audio?
- 12. Jak zrobić tekst na całej jego szerokości?
- 13. Zmieniasz rozmiar tekstu etykiety, gdy tekst jest dłuższy niż rozmiar etykiety?
- 14. Jak podkreślić tekst w tytule lub etykiecie? (ggplot2)
- 15. jak obliczyć "Rozmiar" FormattedText lub GlyphRun w WPF?
- 16. Obliczyć rozmiar w bajtach ciągu Swift
- 17. Nie można obliczyć szerokości ukrytego elementu div
- 18. Jak obliczyć odpowiedni rozmiar widgetu na Androida?
- 19. Jak obliczyć całkowity rozmiar obiektu NSDictionary?
- 20. Nieprawidłowa wysokość tekstu, gdy tekst zawiera emotikony
- 21. Jak obliczyć optymalny rozmiar porcji do przesłania dużych plików?
- 22. Niestandardowy UIFont dla preferowanegoFontForTextStyle
- 23. std :: iota jest bardzo ograniczony
- 24. Skalowanie rozmiaru UIFont względem rozmiaru ekranu
- 25. JavaScript prototyp ograniczony do funkcji?
- 26. UITextView szerokości większej niż 512 nie pokazuje tekst
- 27. Jak określić rozmiar czcionki UILabel, gdy -justjustFontSizeToFitWidth jest ustawiona na TAK?
- 28. iPhone - Konwertuj CTFont na UIFont?
- 29. Auto klip i dopisz kropki w etykiecie WPF
- 30. CSS wielokropek tekst i 100 procent szerokości
Więc actualFontSize byłoby CGSize które przechodzą przez odniesienie do tej metody? –
Tak. W C i Obj C funkcja jest ograniczona pod względem zwracania wartości. Argumenty przekazywane do funkcji są obliczane, a ich wartość jest przesyłana na stos przed wywołaniem funkcji. Funkcja pobiera tylko te wartości i nie może przekazywać w nich wartości zwracanej. Dopóki to, co jest pchane, nie jest wskaźnikiem, w którym to przypadku funkcja może użyć wskaźnika do zapisu na jego adres i zmodyfikowania go. Upraszczam - tutaj faktyczna FontSize jest jedną z zwróconych wartości funkcji (metody). – mahboudz
To jest przestarzałe w iOS7. Czy istnieje wymiana iOS8? –