2009-03-06 7 views
9

मैं कई लाइनों के साथ एक टेक्स्ट प्रदर्शित करना चाहता हूं। मैंने एक स्क्रॉल व्यू में एक बहु-लेबल जोड़ा, लेकिन यह कुछ भी नहीं दिखाया। ऐसा लगता है कि स्क्रॉल व्यू का उपयोग करने का यह सही तरीका नहीं है। स्क्रॉल व्यू का उपयोग कैसे करें ताकि उपयोगकर्ता अधिक टेक्स्ट देखने के लिए नीचे खींच सकें?आईफोन पर स्क्रॉल व्यू का उपयोग कैसे करें?

+4

मेरे पास जोड़ने के लिए कुछ भी नहीं है, लेकिन आपका नाम शानदार है। – Patrick

+0

@ पैट्रिक .. हाँ .. :) – rockey

उत्तर

10

आप केवल UITextView का उपयोग कर सकते हैं। यह UIScrollView का एक बच्चा है, और यदि आप इसकी टेक्स्ट प्रॉपर्टी को टेक्स्ट की मात्रा में सेट करते हैं जो उसके फ्रेम के भीतर फिट नहीं होता है, तो दृश्य स्क्रॉल करने योग्य बन जाएगा।

21

ऐप्पल का UIScollView documentation काफी अच्छा है, आपको वहां से शुरुआत करना चाहिए और कक्षा को समझना चाहिए।

एक स्क्रॉलव्यू के बारे में सोचें जो एक बड़ी दृश्य सतह के रूप में स्क्रीन स्लाइड करता है *। आप स्क्रॉलव्यू में सबव्यूव जोड़ सकते हैं और फिर स्क्रॉलिंग स्क्रॉलव्यू पर स्क्रीन को पोजिशन करने की तरह है - स्क्रीन एक विंडो की तरह काम करती है जिसे आप नीचे स्क्रॉल व्यू की सामग्री के हिस्से में देख सकते हैं।

ऐसा करने के लिए, एक स्क्रॉलव्यू में सामान्य UIView पर कुछ अतिरिक्त गुण होते हैं - लेकिन यह एक प्रभावशाली सम्मान में UIView की तरह है: यह किसी भी सामग्री को सीधे प्रस्तुत नहीं करता है। आपको अपना टेक्स्ट आकर्षित करने के लिए एक सबव्यूव जोड़ने की आवश्यकता है। एक स्क्रॉलव्यू सेट अप किया गया है और यूआईवीव के समान तरीके से प्रदर्शित किया गया है - यानी आप फ्रेम को किसी अन्य दृश्य में जोड़ते हैं और अपना टेक्स्ट दिखाने के लिए आपको UIScrollView में सबव्यूव जोड़ने की आवश्यकता होती है जो वास्तव में पाठ प्रस्तुत कर सकता है।

एक मूल UIScrollView सेट अप करने के लिए आप अनुरोध करते हैं, तो आपको इसे सामान्य पूर्ण स्क्रीन दृश्य की तरह बनाना चाहिए - फ्रेम को विंडो के समान आकार के रूप में सेट करें और विंडो में स्क्रॉलव्यू को सबव्यूव के रूप में जोड़ें। फिर अपना टेक्स्ट रखने के लिए एक बड़ा UITextView बनाएं। यूआईटीएक्स्ट व्यू जितना बड़ा हो उतना बड़ा हो सकता है - विशेष रूप से यह स्क्रीन से बड़ा हो सकता है। UISextView के फ्रेम के समान सामग्री के लिए UIScrollView की सामग्री आकार बदलें और फिर UISextView को UIScrollView के सबव्यूव के रूप में जोड़ें।

एक बार जब आप यह काम कर लेंगे, तो आप सामग्री को स्वचालित रूप से सामग्री ऑफसेट संपत्ति के साथ स्थानांतरित कर सकते हैं, ज़ूमिंग नियंत्रित कर सकते हैं और स्क्रॉलिंग ईवेंट का निरीक्षण करने के लिए एक प्रतिनिधि सेट अप कर सकते हैं।

* अधिक सटीक रूप से, जिस पर फ्रेम स्लाइड करता है लेकिन मुझे लगता है कि आप एक पूर्ण स्क्रीन UIScrollView बना रहे हैं। मुझे यकीन है कि यदि आप एक छोटा सा दृश्य चाहते हैं तो आप इसे सामान्यीकृत कर सकते हैं।

1

मैंने अपने अनुप्रयोगों में से एक में एक निर्देश फलक के लिए UIScrollView का उपयोग किया। यह काम करता था लेकिन मैं परिणाम से नाखुश था। फिर मैंने UIWebView का उपयोग करने के लिए स्विच किया और परिणाम के साथ बहुत खुश रहा। यह स्क्रॉल व्यू को स्वचालित रूप से आकार देने में संभालता है, मुझे HTML की सभी स्वरूपण क्षमताओं मिलती हैं और मेरे पास ऐसे लिंक हो सकते हैं जो अतिरिक्त जानकारी (या बाहरी साइट्स) पर जाएं, और कोई अन्य HTML फ़ाइल जोड़ने और शायद कुछ प्रतिनिधि कोड को जोड़ने के अलावा। यहाँ कोड मैं प्रयोग किया जाता है (और मैं एक संसाधन के रूप में मेरे ऐप पर HTML फ़ाइल जोड़ा):

NSString *path = [[NSBundle mainBundle] pathForResource:@"instructions" ofType:@"html"]; 
NSFileHandle *readHandle = [NSFileHandle fileHandleForReadingAtPath:path]; 
NSString *htmlString = [[NSString alloc] initWithData: [readHandle readDataToEndOfFile] encoding:NSUTF8StringEncoding]; 
[self.instructionsView loadHTMLString:htmlString baseURL:nil]; 
1

यू इस वेबसाइट का उल्लेख कर सकते http://www.edumobile.org/iphone/iphone-programming-tutorials/scrollview-example-in-iphone/

यू स्क्रॉल दृश्य बनाने के लिए कदम से कदम का पालन करें आईफोन में ... शुभकामनाएं :)

+0

आप स्पैमर के बजाय SO का वास्तविक उपयोगकर्ता प्रतीत होता है। तो यह थोड़ा परेशान है कि आपने तीन बार एक ही जवाब क्यों पोस्ट किया है। दंडित होने से पहले आपको इनमें से कुछ डुप्लिकेट हटा देना चाहिए। – APC

+0

@ एएपीसी ने आपको दंडित किया। मैंने पहले ही हटा दिया है; समुदाय का एकमात्र जुर्माना उसके उत्तरों को कम करने के लिए आता है। – Will

+0

@Will - लोग स्पैम के रूप में अपने उत्तरों को ध्वजांकित कर रहे थे। तो जेनिफर के दो तरीकों से लीकिंग प्रतिनिधि, हालांकि मुझे लगता है कि वह अब जादू को "छः झंडे" नहीं मार पाएगी, और मौजूदा स्पैम झंडे दो दिनों के बाद फीका होगा। – APC