Vergib mir meine Unwissenheit, aber ich benutze die ganze Zeit UILabels und ich frage mich, ob du auf ein "zum Beispiel" hinweisen könntest.
DaveMac
1
myLabel.numberOfLines = 0Sie erhalten eine mehrzeilige Beschriftung, die Zeilenumbruchzeichen berücksichtigt. Im Allgemeinen benutze ich es aber gerne, UITextFieldweil es flexibler ist. Sie können beispielsweise leicht erkennen, auf welches Zeichen ein Benutzer bei der Arbeit mit a getippt UITextFieldhat. Ich glaube nicht, dass Sie dies mit a tun können UILabel. Textansichten haben auch viele andere nette Funktionen.
John Erck
7
Ein anderer Weg ist zu verwendenoption+8
Atulkhatri
3
Denken Sie daran, das Großbuchstaben 'u' zu verwenden, wenn Sie lokalisierbare Zeichenfolgen verwenden: \ U2022
Nikolaj Nielsen
1
Swift ist etwas anders, "\ u {2022}"
anders
80
einfach hinzufügen " • "
Sogar ich suchte so etwas für meine textView. Was ich getan habe, füge einfach die obige Zeichenfolge mit meiner Zeichenfolge hinzu und übergebe sie an meine textView. Dasselbe kann auch für getan werden labels.
Ich habe dies für den zukünftigen Betrachter beantwortet.
• Hat für mich gearbeitet. Ich hatte * in Xcode, den ich gerade mit • kopiert / ersetzt habe, und es funktionierte gut für mein Label. Ich ersetzte "Label" durch •
Brian
44
Hier ist eine schöne Lösung mit Swift
let label =UILabel()
label.frame =CGRect(x:40, y:100, width:280, height:600)
label.textColor =UIColor.lightGray
label.numberOfLines =0let arrayString =["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.","Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.","Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.","Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."]
label.attributedText =add(stringList: arrayString, font: label.font, bullet:"")self.view.addSubview(label)
@IBOutlet weak var bulletLabel:UILabel!let arrayOfLines =["Eat egg for protein","You should Eat Ghee","Wheat is with high fiber","Avoid to eat Fish "]forvaluein arrayOfLines {
bulletLabel.text = bulletLabel.text!+" • "+value+"\n"}
Schauen Sie sich diesen Link an. Ich habe eine benutzerdefinierte Ansicht erstellt, um Text mit Aufzählungszeichen / anderen Symbolen / Bild (unter Verwendung der Eigenschaft attributeText von UILabel) als Listenelementsymbol (Swift 3.0) zu formatieren.
Https://github.com/akshaykumarboth/SymbolTextLabel-iOS- Schnell
importUIKitclassViewController:UIViewController{@IBOutletvar symbolView:SymbolTextLabel!var testString ="Understanding the concept of sales"var bulletSymbol ="\u{2022}"var fontsize:CGFloat=18override func viewDidLoad(){super.viewDidLoad()//First way // Dynamically creating SymbolTextLabel objectlet symbolTextLabel =SymbolTextLabel(frame:CGRect(x:0, y:0, width:0, height:0))
symbolTextLabel.setText(text: testString, symbolCode: bulletSymbol)//setting text and symbol of text item
symbolTextLabel.setFontSize(textSize: fontsize)// setting font size//symbolTextLabel.setSpacing(spacing: 5) // setting space between symbol and textself.view.addSubview(symbolTextLabel)//second way // from storyboard or interface builder
symbolView.setText(text: testString, symbolCode: bulletSymbol)//setting text and symbol of text item
symbolView.setFontSize(textSize: fontsize)// setting font size//symbolView.setSpacing(spacing: 5) // setting space between symbol and text}}
Wenn Sie den Texteinzug auch für die Aufzählungspunkte ausrichten möchten, können Sie die folgende Methode verwenden, NSAttributedStringmit der a mit den richtigen Einrückungs- und Abstandseigenschaften erstellt wird:
Und Sie können diese Methode wie folgt anwenden, indem Sie eine NSArraymit den Texten übergeben und vorausgesetzt, Sie haben bereits eine UILabel:
NSArray*stringArray =@[@"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",@"Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",@"Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.",@"Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."];
label.attributedText =[self attributedStringForBulletTexts:stringArray
withFont:label.font
bulletString:@"•"
indentation:15
lineSpacing:2
paragraphSpacing:10
textColor:UIColor.blackColor
bulletColor:UIColor.grayColor];
Ja. Kopieren Sie das folgende Aufzählungszeichen und fügen Sie es ein: •Der Compiler von Swift kann das Aufzählungszeichen wie gewünscht in Xcode interpretieren und anzeigen, sonst wird nichts benötigt.
extension ArraywhereElement==String{var bulletList:String{var po =""for(index, item)inself.enumerated(){if index !=0{
po +="\n"}
po +=.bullet + item
}return po
}}print(["get apples","get oranges","get a bannana"].bulletList)
Wenn Sie abstimmen. Zumindest die Höflichkeit zu sagen, warum.
ScottyBlades
Ich denke, der Grund dafür ist, dass Ihre Lösung nicht optimal ist. Am besten verwenden Sie den Unicode-Codepunkt.
Robert J. Clegg
Vielen Dank für die nachdenkliche Antwort. Warum ist der Unicode-Punkt besser?
ScottyBlades
Wenn der Entwickler dies mehrmals über verschiedene Bildschirme oder Projekte hinweg (nicht im selben Zeitraum) tun müsste, würde dies für ihn von größerem Nutzen sein, wenn er den Codepunktwert kennt. Sie müssen also nicht die obige Antwort oder einen ähnlichen Ort in Ordnung bringen, um sie zu kopieren. Nun, das sind sowieso meine Gedanken dazu.
Robert J. Clegg
1
@ RobertJ.Clegg Ich habe gerade meine Antwort aktualisiert, um eine wiederverwendbare Option bereitzustellen. Können Sie mir ein Beispiel geben, wann eine Codepunktzeichenfolge den Aufzählungspunkt wiederverwendbarer macht als eine direkte Aufzählungszeichenfolge?
ScottyBlades
0
Wenn jemand wie ich nach Textansichtstext mit Aufzählungszeichen sucht, ist unten die Antwort. Übrigens funktioniert es nur für statischen Text.
•Better experience -Refer a friendandHow to Play \n•Tournaments performance improvement\n• UI/UX Improvements\n•Critical bug fixes
Ich habe den obigen Text der Textansicht zugewiesen. Es hat wie für mich vorgesehen funktioniert.
UILabel
s behandeln ihren Text nicht als HTML.ALT+8 = •
Antworten:
Verwenden Sie möglicherweise den Unicode-Codepunkt für das Aufzählungszeichen in Ihrer Zeichenfolge?
Ziel c
Swift 4
quelle
myLabel.numberOfLines = 0
Sie erhalten eine mehrzeilige Beschriftung, die Zeilenumbruchzeichen berücksichtigt. Im Allgemeinen benutze ich es aber gerne,UITextField
weil es flexibler ist. Sie können beispielsweise leicht erkennen, auf welches Zeichen ein Benutzer bei der Arbeit mit a getipptUITextField
hat. Ich glaube nicht, dass Sie dies mit a tun könnenUILabel
. Textansichten haben auch viele andere nette Funktionen.option+8
einfach hinzufügen
" • "
Sogar ich suchte so etwas für meine
textView
. Was ich getan habe, füge einfach die obige Zeichenfolge mit meiner Zeichenfolge hinzu und übergebe sie an meinetextView
. Dasselbe kann auch für getan werdenlabels
.Ich habe dies für den zukünftigen Betrachter beantwortet.
quelle
Hier ist eine schöne Lösung mit Swift
Fügen Sie Aufzählungsattribute hinzu
Hier ist das Ergebnis:
quelle
In Swift 4 habe ich "•" mit neuer Zeile verwendet
Ausgabe:
quelle
In kurzer Zeit 3.1
quelle
Schauen Sie sich diesen Link an. Ich habe eine benutzerdefinierte Ansicht erstellt, um Text mit Aufzählungszeichen / anderen Symbolen / Bild (unter Verwendung der Eigenschaft attributeText von UILabel) als Listenelementsymbol (Swift 3.0) zu formatieren. Https://github.com/akshaykumarboth/SymbolTextLabel-iOS- Schnell
quelle
Wenn Sie den Texteinzug auch für die Aufzählungspunkte ausrichten möchten, können Sie die folgende Methode verwenden,
NSAttributedString
mit der a mit den richtigen Einrückungs- und Abstandseigenschaften erstellt wird:Und Sie können diese Methode wie folgt anwenden, indem Sie eine
NSArray
mit den Texten übergeben und vorausgesetzt, Sie haben bereits eineUILabel
:quelle
Ja. Kopieren Sie das folgende Aufzählungszeichen und fügen Sie es ein:
•
Der Compiler von Swift kann das Aufzählungszeichen wie gewünscht in Xcode interpretieren und anzeigen, sonst wird nichts benötigt.Wiederverwendung
Ausgabe
Wiederverwendbares Array
Ausgabe
quelle
Wenn jemand wie ich nach Textansichtstext mit Aufzählungszeichen sucht, ist unten die Antwort. Übrigens funktioniert es nur für statischen Text.
Ich habe den obigen Text der Textansicht zugewiesen. Es hat wie für mich vorgesehen funktioniert.
quelle
Hier ist die Lösung von @krunal, die in die Swift 5-
NSAttributedString
Erweiterung umgestaltet wurde :quelle