2011-11-04 11 views
12

आप आईओएस में Mail ऐप्स पता के रूप में 5 एक अमीर पाठ संपादक है वहाँ एक नियमित रूप से UITextView के लिए इस सुविधा का उपयोग करने के लिए किसी भी संभव तरीका है?का उपयोग आईओएस 5 रिच टेक्स्ट संपादक

enter image description here

+0

यह संभव प्रतीत नहीं होता ओमनी संपादक से संपादक है पर नज़र http://stackoverflow.com/questions/4688332/how-to -बल्ड-टेक्स्ट-इन-यूटेक्स्टव्यू एक अच्छी बात होगी हालांकि यह संभव था। – jbat100

उत्तर

1

iOS 5 रिच टेक्स्ट संपादित करें नियंत्रण (कंप्यूटर और सिंक यह देखने के लिए पर एक रिच टेक्स्ट नोट कर) भी आईओएस 4 में नोट एप्लिकेशन में मौजूद है।

यह एक कस्टम एप्पल निर्मित नियंत्रण जिसे वे अपने स्वयं क्षुधा में उपयोग है, लेकिन यह किसी भी आधिकारिक डेवलपर एपीआई में प्रकाशित नहीं है। यह शायद कहीं एसडीके में है, लेकिन क्योंकि यह अनियंत्रित है, भले ही आप इसे ढूंढें और इसका इस्तेमाल करें, ऐप्पल आपके ऐप को अस्वीकार कर देगा।

मूल रूप से, आप एक रिच टेक्स्ट नियंत्रण चाहते हैं तो आप अपने खुद के बनाने के लिए होगा।

संपादित करें: इसका उपयोग करने का प्रयास करें: https://github.com/omnigroup/OmniGroup/tree/master/Frameworks/OmniUI/iPad/Examples/TextEditor/। मैंने इसका इस्तेमाल नहीं किया है, इसलिए मुझे नहीं पता कि यह कितना अच्छा काम करेगा। (this question से लिंक)

25

मैं दो मौलिक दृष्टिकोण के बारे में पता iOS 5 में एक अमीर पाठ संपादक बनाने के लिए:

  1. उपयोग कोर पाठ और एक कस्टम दृश्य। मुझे इस दृष्टिकोण के साथ कोई अनुभव नहीं है।

  2. UIWebView (UITextView के बजाय) और contentEditable HTML विशेषता का उपयोग करें। मूलभूत विचार है कि आप अपने ऐप संसाधन निर्देशिका से कस्टम HTML दस्तावेज़ लोड करें। न्यूनतम है कि यह जरूरत है यह है:

    < div contenteditable > TEXT_PLACEHOLDER </div >

रिच टेक्स्ट संपादक दृश्य प्रारंभ करने के लिए: एक NSMutableString में 1. लोड इस फ़ाइल की सामग्री और उस पाठ के साथ TEXT_PLACEHOLDER स्ट्रिंग को प्रतिस्थापित करें जिसे आप संपादित करना चाहते हैं। 2. उस HTML स्ट्रिंग के साथ UIWebView पर loadHTMLString:baseURL: संदेश भेजें।

अब आपके पास div के अंदर contentEditable के साथ अपना टेक्स्ट प्रदर्शित करने वाला UIWebView है। इस बिंदु पर, आपको टेक्स्ट पर अपना ऐप टैप चलाने में सक्षम होना चाहिए, और कर्सर के साथ प्रस्तुत किया जाना चाहिए और टेक्स्ट को जोड़ने/निकालने में सक्षम होना चाहिए। अगला चरण समृद्ध टेक्स्ट स्वरूपण कार्यक्षमता जोड़ना है। यह सरल जावास्क्रिप्ट फ़ंक्शन कॉल के सेट के साथ किया जाता है। एक महान संदर्भ के लिए the Mozilla documentation on contentEditable देखें। आप भी इस तरह अपने HTML टेम्पलेट फाइल करने के लिए एक जावास्क्रिप्ट समारोह जोड़ना चाहते हैं जाएगा:

function getHtmlContent() { return document.getElementById('myDiv').innerHTML; } 

तो आप आसानी से [myWebView stringByEvaluatingJavaScriptFromString:@"getHtmlContent()"] का उपयोग कर HTML के रूप में संपादित टेक्स्ट प्राप्त कर सकते हैं। आप अपने प्रश्न में स्क्रीन शॉट में दिखाए गए कस्टम संदर्भ मेनू आइटम भी जोड़ सकते हैं।

आप एप्पल आईओएस देव केंद्र के लिए पहुँच है, तो WWDC सत्र Rich Text Editing in Safari on iOS सब इस दृष्टिकोण के बारे में बात करती है।

इस दृष्टिकोण का एक अंतर TinyMCE जैसे किसी तृतीय-पक्ष समृद्ध टेक्स्ट एडिटर का उपयोग करना है। मैंने आईओएस 5 में UIWebView में इसे एकीकृत करने के साथ कुछ सफलता के बारे में सुना है। फिर यह सामग्री पर निर्भर करता है।

+0

एचटीएमएल दृष्टिकोण पूरी तरह से काम करता है, भयानक !!!!! – Nitin

2

यहाँ मेरी कार्यान्वयन है।अभी भी UIMenuController कार्यक्षमता नहीं जोड़ा है, लेकिन जल्द ही इसे जोड़ने की योजना बनाई गई है।

https://github.com/aryaxt/iOS-Rich-Text-Editor

+0

ग्रेट जॉब दोस्त। – null

संबंधित मुद्दे