Chcę stworzyć taki, UILabel
w którym tekst jest taki
W jaki sposób mogę to zrobić? Gdy tekst jest mały, linia również powinna być mała.
Chcę stworzyć taki, UILabel
w którym tekst jest taki
W jaki sposób mogę to zrobić? Gdy tekst jest mały, linia również powinna być mała.
NSAttributedString
jak iUILabel attributedText
mienia.Odpowiedzi:
KOD AKTUALIZACJI SWIFT 4
następnie:
Aby część struny uderzyła, podaj zakres
Cel C
W iOS 6.0>
UILabel
obsługujeNSAttributedString
Szybki
Definicja :
Parameters List:
name : ciąg określający nazwę atrybutu. Klucze atrybutów mogą być dostarczane przez inną strukturę lub mogą być zdefiniowane przez użytkownika. Aby uzyskać informacje o tym, gdzie znaleźć klucze atrybutów dostarczone przez system, zobacz sekcję omówienie w dokumencie NSAttributedString Class Reference.
wartość : wartość atrybutu powiązana z nazwą.
aRange : zakres znaków, do których odnosi się określona para atrybut / wartość.
Następnie
Dla
lesser than iOS 6.0 versions
trzeba3-rd party component
to zrobić. Jednym z nich jest TTTAttributedLabel , innym jest OHAttributedLabel .źródło
W języku Swift, używając wyliczenia dla stylu pojedynczego przekreślonego wiersza:
Dodatkowe style przekreślenia ( pamiętaj, aby uzyskać dostęp do wyliczenia za pomocą .rawValue ):
Wzory przekreślenia (do usunięcia ze stylem):
Określ, że przekreślenie powinno być stosowane tylko w wyrazach (bez spacji):
źródło
Wolę
NSAttributedString
raczej niżNSMutableAttributedString
w tym prostym przypadku:Stałe do określania atrybutów
NSUnderlineStyleAttributeName
iNSStrikethroughStyleAttributeName
atrybutów przypisanego ciągu:źródło
Przekreślenie w Swift 5.0
U mnie zadziałało jak urok.
Użyj go jako rozszerzenia
Zadzwoń tak
Rozszerzenie UILabel dla przekreślenia Włącz / Wyłącz.
Użyj tego w ten sposób:
źródło
KOD SWIFT
następnie:
Dzięki odpowiedzi Prince ;)
źródło
SWIFT 4
Inną metodą jest użycie rozszerzenia ciągu
znaków
Wywołanie funkcji: Użyłem tego w ten sposób
Kredyt dla @Yahya - aktualizacja grudzień 2017
Kredyt dla @kuzdu - aktualizacja sierpnia 2018
źródło
value
0
i Purnendu Roy Passvalue: NSUnderlineStyle.styleSingle.rawValue
Możesz to zrobić w IOS 6 za pomocą NSMutableAttributedString.
źródło
Przekreśl tekst UILabel w Swift iOS. Proszę, spróbuj tego, to działa dla mnie
Możesz zmienić swój „strikethroughStyle”, na przykład styleSingle, styleThick, styleDouble
źródło
Szybki 5
Przykład:
źródło
Dla każdego, kto szuka, jak to zrobić w komórce widoku tabeli (Swift), musisz ustawić .attributeText w następujący sposób:
Jeśli chcesz usunąć przekreślenie, zrób to, w przeciwnym razie pozostanie !:
źródło
Swift 4.2
źródło
Mogę się spóźnić na przyjęcie.
Zresztą wiem o tym,
NSMutableAttributedString
ale ostatnio osiągnąłem tę samą funkcjonalność przy nieco innym podejściu.Po wykonaniu wszystkich powyższych czynności moja Label, UIView i jego ograniczenia wyglądały jak na poniższym obrazku.
źródło
Użyj poniższego kodu
źródło
Zmień właściwość tekstu na przypisaną i zaznacz tekst i kliknij prawym przyciskiem myszy, aby uzyskać właściwość czcionki. Kliknij przekreślenie.
źródło
Dla tych, którzy mają problem z przekreśleniem tekstu w wielu wierszach
źródło
Utwórz rozszerzenie String i dodaj poniższą metodę
następnie użyj dla swojej etykiety w ten sposób
źródło
To jest ten, którego możesz użyć w Swift 4, ponieważ NSStrikethroughStyleAttributeName został zmieniony na NSAttributedStringKey.strikethroughStyle
źródło
Swift 4 i 5
Przykład
źródło