2017-09-26 10 views
9

टाइप करते समय मैं typingAttributes का उपयोग एक नया फ़ॉन्ट सेट करने के लिए करता हूं। आईओएस 10, सब कुछ काम करता है, लेकिन आईओएस 11 पर, पहला टाइप किया गया चरित्र सही है, लेकिन फिर गुणों को पिछले लोगों को रीसेट किया जा रहा है, और दूसरा अक्षर पिछले फ़ॉन्ट के साथ टाइप किया गया है। क्या यह एक बग है? क्या मैं इसे किसी भी तरह ठीक कर सकता हूं?आईओएस 11: यूआईटीएक्स्टव्यू टाइपिंग एट्रिब्यूट रीसेट

उत्तर

5

मैं एक ही मुद्दे में भाग गया और आखिरकार प्रत्येक संपादन के बाद टाइपिंग एट्रिब्यूट्स सेट करके इसे हल किया।

स्विफ्ट 3

func textViewDidChange(_ textView: UITextView) { 
    NotesTextView.typingAttributes = [NSForegroundColorAttributeName: UIColor.blue, NSFontAttributeName: UIFont.systemFont(ofSize: 17)] 
} 
0

आईओएस 11 से, एप्पल हर चरित्र के बाद विशेषताओं को साफ़ करें।

जब टेक्स्ट व्यू का चयन बदल जाता है, तो शब्दकोश की सामग्री स्वचालित रूप से साफ़ हो जाती है।

https://developer.apple.com/documentation/uikit/uitextview/1618629-typingattributes

1

ऐसा क्यों हुआ:

एप्पल अद्यतन typingAttributes आईओएस 11

इस शब्दकोश विशेषता कुंजियों (और संबंधित मानों) शामिल हैं के बाद से हाल में लिखे गए पाठ को लागू करने के लिए। जब टेक्स्ट व्यू का चयन बदल जाता है, तो शब्दकोश की सामग्री स्वचालित रूप से साफ़ हो जाती है।

इसे कैसे ठीक करें:

@ Serdnad के कोड काम करता है, लेकिन यह पहला वर्ण को छोड़ देगा। यहाँ सब कुछ कोशिश कर के बाद मेरी खोज है कि मैं संभवतः के

1. लगता है कि तुम सिर्फ अपने पाठ दृश्य के लिए एक सार्वभौमिक टाइपिंग विशेषता चाहते हैं कर सकते हैं

बस इस प्रतिनिधि विधि में टाइपिंग विशेषता एक बार सेट और आप कर रहे हैं यह सब एक सार्वभौमिक फ़ॉन्ट

func textViewShouldBeginEditing(_ textView: UITextView) -> Bool { 
    //Set your typing attributes here 
    textView.typingAttributes = [NSAttributedStringKey.foregroundColor.rawValue: UIColor.blue, NSAttributedStringKey.font.rawValue: UIFont.systemFont(ofSize: 17)] 
    return true 
} 

enter image description here

2. मेरे मामले में, कम से साथ एक रिच टेक्स्ट संपादक के साथ सेट श्रद्धांजलि हर समय बदलती है:

इस मामले में, मुझे कुछ भी दर्ज करने के बाद प्रत्येक बार टाइपिंग विशेषताओं को सेट करना होगा। इस अद्यतन के लिए आईओएस 11 धन्यवाद!

हालांकि, textViewDidChange विधि में इसे सेट करने के बजाय, shouldChangeTextIn विधि में इसे करने से टेक्स्ट बेहतर दृश्य में वर्ण दर्ज करने से पहले कॉल किया जाता है।

func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool { 
    textView.typingAttributes = [NSAttributedStringKey.foregroundColor.rawValue: UIColor.blue, NSAttributedStringKey.font.rawValue: UIFont.systemFont(ofSize: 17)] 
    return true 
} 

enter image description here

+0

मैं अपने संपादक स्रोत कोड – user2296278

+0

दुर्भाग्य से मैं संपादक को हटा दिया है हो सकता है @ user2296278, ....यह काम नहीं करेगा क्योंकि आईओएस द्वारा उत्पन्न किए गए एचटीएमएल से एंड्रॉइड डिवाइस पर प्रयोग योग्य नहीं है –

+0

ठीक है धन्यवाद, मैं इस संपादक को चाहता हूं क्योंकि अगर आप गिटहब को पुनर्निर्मित या उपयोग करते हैं तो मुझे स्विफ्ट 4 में कोई टेक्स्ट एडिटर नहीं मिल रहा है या आप मेरी मदद कर सकते हैं मुझे एक संदेश भेजें – user2296278

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