jak wiesz, że aplikacja Mail w iOS 5 ma edytor tekstu sformatowanego, czy istnieje możliwość użycia tej funkcji w zwykłym UITextView?Korzystanie z edytora tekstu sformatowanego iOS 5
Odpowiedz
iOS 5 bogaty kontrola edycja tekstu jest również obecny w aplikacji Notatki w iOS 4 (marka bogate wiadomości tekstowej na komputerze i zsynchronizować go zobaczyć).
Jest to niestandardowy formularz kontrolny firmy Apple, którego używają we własnych aplikacjach, ale nie jest publikowany w żadnym oficjalnym interfejsie API programisty. Prawdopodobnie znajduje się on w SDK, ale ponieważ jest nieudokumentowany, nawet jeśli go znajdziesz i użyjesz, Apple odrzuci twoją aplikację.
Zasadniczo, jeśli chcesz mieć kontrolę tekstu sformatowanego, musisz stworzyć własną.
Edytuj: Spróbuj użyć tego: https://github.com/omnigroup/OmniGroup/tree/master/Frameworks/OmniUI/iPad/Examples/TextEditor/. Nie użyłem go, więc nie wiem, jak dobrze to zadziała. (Link z this question)
Znam dwóch podstawowych podejść do stworzenia edytora tekstu w iOS 5:
Zastosowanie rdzenia Tekst i widok niestandardowy. Nie mam żadnego doświadczenia z tym podejściem.
Użyj atrybutu HTML UIWebView (zamiast UITextView) i
contentEditable
. Podstawową ideą jest załadowanie niestandardowego dokumentu HTML z katalogu zasobów aplikacji. Absolutne minimum, które musi to:< div contentEditable > TEXT_PLACEHOLDER </div >
Aby zainicjować bogaty widoku edytora tekstu: 1. Załaduj zawartość tego pliku do NSMutableString
i zamień ciąg tekstowy TEXT_PLACEHOLDER na tekst, który chcesz edytować. 2. Wyślij komunikat loadHTMLString:baseURL:
do UIWebView z tym ciągiem HTML.
Teraz masz UIWebView wyświetlający twój tekst wewnątrz div
z contentEditable
. W tym momencie powinieneś być w stanie uruchomić swoją aplikację, dotknąć tekstu, a także wyświetlić kursor i dodać/usunąć tekst. Następnym krokiem jest dodanie funkcji formatowania tekstu sformatowanego. Odbywa się to za pomocą zestawu prostych wywołań funkcji javascript. Zobacz the Mozilla documentation on contentEditable, aby uzyskać doskonałe referencje. Będziesz także chcą, aby dodać funkcję JavaScript do pliku szablonu HTML tak:
function getHtmlContent() { return document.getElementById('myDiv').innerHTML; }
Więc można łatwo odzyskać edytowanego tekstu jako HTML za pomocą [myWebView stringByEvaluatingJavaScriptFromString:@"getHtmlContent()"]
. Możesz również dodać niestandardowe elementy menu kontekstowego, takie jakie pokazujesz na ekranie w pytaniu.
Jeśli masz dostęp do centrum Apple iOS dev, sesja WWDC Rich Text Editing in Safari on iOS mówi wszystko o tym podejściu.
Odmianą tego podejścia jest użycie edytora tekstu sformatowanego innej firmy, np. TinyMCE. Słyszałem o pewnym sukcesie w integracji z UIWebView w iOS 5. Znowu opiera się to na atrybucie contentEditable.
Podejście HTML działa zupełnie, super !!!!! – Nitin
Oto moja implementacja.Nadal nie dodano funkcji UIMenuController, ale planuje się ją wkrótce dodać.
Świetna robota koleś. – null
spojrzenie na https://github.com/gfthr/FastTextView który jest więcej dobra niż open source edytor edytor Omni
- 1. Ikony 32x32 dla edytora tekstu sformatowanego?
- 2. Pole tekstu sformatowanego - pogrubione
- 3. Edytor tekstu sformatowanego w przeglądarce Mobile Safari
- 4. Wklej obrazek do tekstu sformatowanego (np. Gmail)
- 5. Pole tekstu sformatowanego, jak podświetlić blok tekstu
- 6. Wklej bez formatowania tekstu sformatowanego do EditText
- 7. Wtyczka do NotePad ++ dla tekstu sformatowanego?
- 8. Korzystanie PreBuiltTransportClient z elasticsearch 5
- 9. Korzystanie z obszarów w ASP.NET 5
- 10. Rozszerzenie edytora tekstu w Visual Studio
- 11. Jak przeglądać (bez edytora tekstu) pliki .rst?
- 12. Zalecane podejście do prezentacji sformatowanego tekstu w systemie Android?
- 13. Potrzebujesz rozbudowanego edytora tekstu ASP.Net/MVC
- 14. Jak utworzyć pole wprowadzania tekstu sformatowanego, takie jak StackOverflow?
- 15. Próbnik kolorów tekstu w dyrektywie edytora tekstu kątowego
- 16. Otwieranie domyślnego edytora tekstu w bashu?
- 17. Widok tekstu sformatowanego, takiego jak komentarz na Instagramie
- 18. Zastąp tekstową edytorem tekstu sformatowanego w Flask Admin
- 19. Wyświetlanie elementu w postaci wstępnie sformatowanego tekstu za pomocą CSS
- 20. W Keil uVision 5, jak mogę zachować aktualną linię edytora tekstu podczas przechodzenia przez debugger?
- 21. Jak korzystać z edytora tekstu WordPress zachowywać się jak html
- 22. Implementacja iOS 5 segue
- 23. Zmiana zachowania tła UITextField z iOS 4 na iOS 5
- 24. Czy "Korzystanie z bazowej internacjonalizacji" jest obsługiwane w systemie iOS 5?
- 25. Zmień kolor tekstu paska stanu z białego iOS 7/Xcode 5
- 26. W jaki sposób Evernote wdrożyło edytor tekstu sformatowanego w systemie Android?
- 27. Parsowanie sformatowanego ciągu
- 28. Usterka iOS 5 UISearchDisplayController crash
- 29. Geofence API dla iOS 5
- 30. Wydajność w iOS-5 SQLite
Nie wydaje się możliwe, z tego co rozumiem http://stackoverflow.com/questions/4688332/how-to -bold-text-in-uitextview byłoby dobrą rzeczą, gdyby było to możliwe. – jbat100