स्विफ्ट के साथ क्लिपबोर्ड / पेस्टबोर्ड पर टेक्स्ट को कॉपी कैसे करें


184

मैं आईओएस क्लिपबोर्ड पर पाठ की प्रतिलिपि बनाने के एक स्वच्छ उदाहरण की तलाश कर रहा हूं जो कि अन्य एप्लिकेशन में उपयोग / चिपकाया जा सकता है।

इस फ़ंक्शन का लाभ यह है कि पारंपरिक टेक्स्ट कॉपी करने के मानक पाठ हाइलाइटिंग फ़ंक्शन के बिना, पाठ को जल्दी से कॉपी किया जा सकता है।

मैं मान रहा हूं कि प्रमुख वर्ग अंदर हैं UIPasteboard, लेकिन संबंधित क्षेत्रों को कोड उदाहरण में नहीं खोज सकते हैं जो वे आपूर्ति करते हैं


जवाबों:


446

यदि आप चाहते हैं कि सभी सादे पाठ हैं, तो आप stringसंपत्ति का उपयोग कर सकते हैं । यह पठनीय और लेखन योग्य है:

// write to clipboard
UIPasteboard.general.string = "Hello world"

// read from clipboard
let content = UIPasteboard.general.string

( क्लिपबोर्ड से पढ़ते समय , UIPasteboard दस्तावेज़ीकरण से यह भी पता चलता है कि आप पहले जांच कर सकते हैं hasStrings, "इससे बचने के लिए सिस्टम को ज़रूरत से पहले डेटा लाने की कोशिश करने की जरूरत है या जब डेटा मौजूद नहीं हो सकता है", जैसे कि हैंडऑफ़ का उपयोग करते समय ।)


यह ठीक काम कर सकता है, लेकिन क्या ऐसा नहीं होता है कि उपयोगकर्ता के पास कॉपी की गई सामग्री में चित्र या फाइलें हों?
विजेता

UIPasteboard.general.stringस्विफ्ट में काम करता है 4.x भी
spnkr

मैं फ़ॉन्ट शैली के साथ फ़ॉन्ट कैसे कॉपी कर सकता हूं?
क्रुणाल नागवडिय़ा १४'१

57

चूँकि आमतौर पर जोड़े में कॉपी और पेस्ट किया जाता है, इसलिए यह @jtbandes अच्छा, संक्षिप्त उत्तर का पूरक उत्तर है। मैं मूल रूप से यहां पेस्ट करने के लिए आया था।

iOS इसे आसान बनाता है क्योंकि सामान्य पेस्टबोर्ड का उपयोग एक चर की तरह किया जा सकता है। बस मिलता है और सेटUIPasteboard.general.string

यहाँ एक उदाहरण दिखाया गया है कि दोनों का उपयोग किया जा रहा है UITextField :

प्रतिलिपि

UIPasteboard.general.string = myTextField.text

पेस्ट करें

if let myString = UIPasteboard.general.string {
    myTextField.insertText(myString)
}

ध्यान दें कि पेस्टबोर्ड स्ट्रिंग एक वैकल्पिक है, इसलिए इसे पहले अलिखित करना होगा।


मैं फ़ॉन्ट शैली के साथ पाठ की प्रतिलिपि कैसे बना सकता हूं। इसलिए मैं
क्रुणाल नागवडिया

@KrunalNagvadia, आप फ़ॉन्ट शैली के साथ पाठ की प्रतिलिपि नहीं बना सकते, लेकिन आप फ़ॉन्ट जानकारी प्राप्त कर सकते हैं myTextField.font। आप उस जानकारी को अलग से सहेज सकते हैं और इसे कहीं और लगा सकते हैं।
6

ठीक है अगर मैं अपने ऐप से टेक्स्ट कॉपी करता हूं और व्हाट्सएप या किसी अन्य ऐप में पेस्ट करता हूं तो यह सपोर्ट स्टाइल है?
क्रुणाल नागवडिय़ा

@KrunalNagvadia, नहीं, iOS सिस्टम UIPasteboardस्टाइल का समर्थन नहीं करता है। आप केवल अपने ऐप के भीतर स्टाइल को संभाल सकते हैं।
सुरगाछ

7

एप्लिकेशन को क्लिपबोर्ड पर पाठ कॉपी करना:

let pasteboard = UIPasteboard.general
pasteboard.string = employee.phoneNumber

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.