मेरे पास कुछ ऐप है जो मेरे ऐप में प्रदर्शित होने की आवश्यकता है। पाठ में ऐसे लिंक होते हैं जिन्हें इंटरैक्टिव होने की आवश्यकता होती है। मैंने UITextViews
और UILabels
में tappable लिंक बनाने के लिए कुछ समाधानों का प्रयास किया है।इसकी सामग्री के आधार पर एक UIWebView गतिशील रूप से आकार बदलना फ़ॉन्ट आकार
UITextView
लिंकUITextView
डेटा डिटेक्टरों कि यूआरएल पर लेने और उन्हें tappable बनाने प्रदान करता है।- मेरे लिए अनुपयोगी क्योंकि लिंक केवल सफारी में बाहर खुल जाएगा, नियंत्रण लेने का कोई तरीका नहीं है और मैं जो लिंक चाहता हूं उसे कर सकता हूं।
UILabel
"फैंसी लेबल" (http://furbo.org/2008/10/07/fancy-uilabels/)- लगभग सही समाधान है, लिंक के उपलब्ध कराने का पता लगाने और उपयोगकर्ता के लिए एक तरह से उपयोग करते हुए देख सकते हैं और उन्हें इनलाइन दोहन करने के लिए और मुझे पूरा नियंत्रण अपने हाथ में दे रही है लिंक जब इसे दबाया जाता है तो लिंक के साथ क्या करना है।
- वर्तमान में अनुपयोगी क्योंकि कार्यान्वयन लिंक को ओवरले करने के लिए
UIButton
एस का उपयोग करता है और वे लंबे लिंक पर टेक्स्ट से लपेटते नहीं हैं।
अंत में मैं वेब दृश्य का उपयोग करने पर बस गए। मैं टेक्स्ट को वेबव्यू में पास करता हूं और इसके चारों ओर एक मूल HTML रैपर बनाता हूं और सब कुछ हंकी-डोरी है। यह वही दृष्टिकोण है जो आईफोन (उर्फ Tweetie) के लिए ट्विटर का उपयोग करता है।
मेरे पास अब एकमात्र समस्या यह है कि यदि टेक्स्ट बहुत लंबा है, तो वेबव्यू ओवरफ्लो क्लिप करता है और क्लिप को देखने के लिए स्क्रॉल करता है। दूसरा, यदि टेक्स्ट बहुत छोटा है, तो वेबव्यू के नीचे बर्बाद जगह का एक बड़ा क्षेत्र है।
ट्वीटी के विपरीत, मेरे पास वेबव्यू के नीचे अधिक सामग्री है, और मैं स्क्रॉलिंग ओवरफ़्लो या बर्बाद स्थान से बचना चाहता हूं। वेबव्यू एक स्क्रॉल व्यू का सबव्यूव है, फिर भी पूरे पृष्ठ की सामग्री स्क्रॉल करने की आवश्यकता वाले अपने सबव्यूव के बिना बढ़ सकती है।
क्या कोई तरीका है कि मैं गतिशील रूप से वेबव्यू का आकार बदल सकता हूं ताकि यह इसकी सामग्री के आधार पर सही ऊंचाई हो?
मैं अब तक बहुत सी बातें की कोशिश की है, कुछ भी नहीं एक ठोस समाधान लगता है:
sizeToFit
कुछ भी नहीं है (या अधिक होने की संभावना है, बस क्या वर्तमान फ्रेम वैसे भी है के लिए आकार सेट) करता है।sizeThatFits:
वैसे भी अपना वर्तमान आकार देता है।NSString
काsizeWithFont:constrainedToSize:
व्यवहार्य नहीं है क्योंकिUIWebView
औरUIFont
के आकार 18 के विभिन्न प्रतिनिधित्व हैं।- बस इस बिंदु पर विस्तृत करने के लिए। मेरे परीक्षण में, मैंने पाया है कि स्केल फैक्टर 1.0 और
scalesPageToFit
NO
पर सेट किया गया है और पूरे पृष्ठ के लिए फ़ॉन्ट आकार 13.5pt (सीएसएस में) के लिए एक फ़ॉन्ट आकारUILabel
के समान आकारUIFont
के साथ समान आकार देता है आकार 18 का। यदि कोई मुझे समझा सकता है तो मैं आभारी रहूंगा।
- बस इस बिंदु पर विस्तृत करने के लिए। मेरे परीक्षण में, मैंने पाया है कि स्केल फैक्टर 1.0 और
- साथ ही, वेब व्यू में मैं वेब दृश्य को लंबे शब्दों या यूआरएल के साथ क्षैतिज स्क्रॉल करने से रोकने के लिए सीएसएस प्रॉपर्टी
word-wrap: break-word;
का उपयोग कर रहा हूं। इस वजह से, वेब व्यू औरUILineBreakModeWordWrap
के बीच रैपिंग व्यवहार पूरी तरह से अलग है। यहां तक किUILineBreakModeCharacterWrap
का उपयोग करने से भी वही परिणाम नहीं मिलते हैं।
या तो ऐसा करने का कोई तरीका नहीं है, या मैं गूंगा हूं और कुछ आसान याद कर रहा हूं। अगर कोई अंतर्दृष्टि प्रदान कर सकता है, तो मैं बहुत आभारी रहूंगा। धन्यवाद।
अच्छा लगता है, जब मैं इसे करने की अगली आवश्यकता होगी तो मैं इसे आज़मा दूंगा। – Jasarien