Ich habe kürzlich eine App gesehen, die einen Emoji-Picker integriert hat, um auf bestimmte Dinge zu reagieren. Ich wollte ein ähnliches Konzept in meine App implementieren, jeder weiß, wie ich so etwas wie dieses Foto erstellen kann. Ich dachte daran, eine CollectionView zu verwenden und jede Zelle zu einem eigenen Emoji zu machen. Irgendwelche Gedanken oder bessere Methoden?Emoji Picker Ios Swift
-4
A
Antwort
2
Um Emojis in eine Collection zu setzen, tun so:
var emojiList: [[String]] = []
let sectionTitle: [String] = ["Emoticons", "Dingbats", "Transport and map symbols", "Enclosed Characters"]
override func layoutSubviews() {
super.layoutSubviews()
fetchEmojis()
}
func fetchEmojis(){
let emojiRanges = [
0x1F601...0x1F64F,
0x2702...0x27B0,
0x1F680...0x1F6C0,
0x1F170...0x1F251
]
for range in emojiRanges {
var array: [String] = []
for i in range {
if let unicodeScalar = UnicodeScalar(i){
array.append(String(describing: unicodeScalar))
}
}
emojiList.append(array)
}
}
override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: cellId, for: indexPath) as! DragCell
cell.imageView.image = emojiList[indexPath.section][indexPath.item].image()
return cell
}
override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return emojiList[section].count
}
func numberOfSections(in collectionView: UICollectionView) -> Int {
return emojiList.count
}
Mit dieser Erweiterung:
extension String {
func image() -> UIImage? {
let size = CGSize(width: 100, height: 100)
UIGraphicsBeginImageContextWithOptions(size, false, 0);
UIColor.clear.set()
let stringBounds = (self as NSString).size(withAttributes: [NSAttributedStringKey.font: UIFont.systemFont(ofSize: 75)])
let originX = (size.width - stringBounds.width)/2
let originY = (size.height - stringBounds.height)/2
print(stringBounds)
let rect = CGRect(origin: CGPoint(x: originX, y: originY), size: size)
UIRectFill(rect)
(self as NSString).draw(in: rect, withAttributes: [NSAttributedStringKey.font: UIFont.systemFont(ofSize: 75)])
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
}
} Beachten Sie, dass die Emoji-Unicode-Bereiche enthalten können, alle Emoji und Sie möchten möglicherweise die Bereiche für Ihre App suchen und ändern
Verwandte Themen
- 1. Ios Swift Kamera Bild Picker drehen Problem
- 2. jquery-Emoji-Picker verwenden Multi TextArea-
- 3. IOS Emoji Unicode-Liste
- 4. Emoji in iOS app Warnungen und Benachrichtigungen - Xcode/Swift
- 5. Picker View Swift
- 6. Bestimmen Segue Basierend auf Picker Auswahl IOS, swift
- 7. Wie implementiere ich Emoji-Picker in Javascript mit benutzerdefinierten Bildern?
- 8. IOS Swift Bildpfad ausgewählt
- 9. Swift Dictionary Array aufzufüllen picker
- 10. Swift Prevent Emoji Darstellung von Unicode-Zeichen
- 11. Welche Emoji-Zeichen funktionieren als Swift-Bezeichner?
- 12. Google Places Picker IOS Anpassung
- 13. Custom Timer Picker IOS Uhr
- 14. IOS NSCharacterSet für Emoji und lateinische Zeichen
- 15. Wie zeige ich Emoji in UILabel iOS
- 16. Emoji Unterstützung für iOS und Android
- 17. Zeige Emoji Tastatur programmatisch in iOS 9.0
- 18. iOS-Anwendung nur zeigen Emoji & Englisch Tastaturen
- 19. picker ist falsch in ios9
- 20. Berechnen Alter von Datum Picker Swift 3
- 21. Emoji kodieren mysqlquery Ausgabe
- 22. Codename Ein iOS Picker Style Error
- 23. Paketname Konflikt zwischen `Emoji` und` Django-Emoji`
- 24. Swift: Google Place Picker, Vermeiden der Karten-Benutzeroberfläche
- 25. Aufruf der Emoji & Symbols-Auswahl aus der NSButton-Aktion
- 26. Bild vergrößern mit scrollveiw swift ios
- 27. Zeige Emoji mit String im Textfeld in swift
- 28. Wie kann ich in Swift ein "Emoji-Tag" erkennen?
- 29. ios Kamera app swift 3
- 30. IOS Videokompression Swift iOS 8 korrupte Videodatei
Ich erhalte den Fehler des unaufgelösten Identifikators für NSAttributedStringKey – user6520705
Meine Antwort funktioniert in swift 4 ... es gibt andere Antworten auf anderen Stapelüberlaufposten – Ali