2012-06-15 10 views
19

मुझे एहसास है कि मैं कोशिकाओं को घुमा सकता हूं और स्क्रॉल व्यू को "उल्टा नीचे" प्रदर्शित करके संकेतक को स्थानांतरित कर सकता हूं लेकिन इसके लिए कई अन्य घूर्णन की आवश्यकता होती है, और टेबल स्क्रॉल को ठीक से बनाने के लिए जानकारी में हेरफेर करना पड़ता है।क्या UIScrollView संकेतक को दाईं तरफ से बाईं ओर ले जाना संभव है?

समय

+1

ताकि बाएं हाथ के उपयोगकर्ताओं को सही पर स्क्रॉलबार है, और दाएँ हाथ के उपयोगकर्ताओं बाईं तरफ स्क्रॉलबार है यह एक सिस्टम-वाइड सेटिंग होना चाहिए। मैं वर्षों से यह कह रहा हूं। – Cyrille

उत्तर

70

वास्तव में के लिए धन्यवाद, यह scrollIndicatorInsets संपत्ति को बदलने बाईं ओर एक छोटे से क्षेत्र के लिए सूचक को प्रतिबंधित करने के द्वारा संभव है:

tableView.scrollIndicatorInsets = UIEdgeInsetsMake(0,0,0,tableView.bounds.size.width-10); 
+1

अच्छा, हालांकि यह आपके निरंतर '10' पर स्क्रॉल व्यू की चौड़ाई से मेल खाता है ... तकनीकी रूप से यह एक असुरक्षित धारणा है, लेकिन व्यावहारिक रूप से यह संभव है। – rickster

+0

बस आगे स्पष्टीकरण के लिए, 10 संकेतक की चौड़ाई होना चाहिए, स्क्रॉल दृश्य नहीं। मुझे लगता है कि यह @rickster कहना था। –

+0

उह, ठीक है। धन्यवाद! – rickster

7

मैं जेरेमी जे के समाधान चाहते हैं (हालांकि मैं इसका परीक्षण नहीं किया गया है), लेकिन सिर्फ विचार को पूरी तरह से तलाशने के लिए ... यहां एक और है जो कोशिश करने लायक हो सकता है (हालांकि यह भी अनचाहे है):

दो स्क्रॉल दृश्यों का उपयोग करें।

एक स्क्रॉल व्यू (हम इसे "असली" कहते हैं) में आपकी सामग्री शामिल है लेकिन इसके संकेतक छिपाए गए हैं। एक अन्य स्क्रॉल व्यू में कोई सामग्री नहीं है लेकिन इसके contentSize "असली" स्क्रॉल व्यू के मिलान के लिए सेट है। जब "असली" स्क्रॉल व्यू contentOffset परिवर्तन (जैसा कि प्रतिनिधि संदेशों के माध्यम से देखा गया है), मिलान करने के लिए "नकली" स्क्रॉल व्यू ऑफ़सेट को बदलें। (सामग्री दृश्य के बिना स्क्रॉल व्यू का उपयोग करने के विचार पर डब्ल्यूडब्ल्यूडीसी 2012 से स्क्रॉल व्यू सत्र देखें।)

सिद्धांत में (फिर से, मैंने इसका परीक्षण नहीं किया है), अब आपके पास स्क्रॉल सूचक दृश्य है यह आपके मूल स्क्रॉल व्यू से अलग है, और आप इसे मूल स्थान के संबंध में कहीं भी रख सकते हैं। इसे मूल के शीर्ष पर ले जाएं और इसे आकार दें/आकार दें ताकि यह बाईं ओर एक संकीर्ण स्लाइवर पर कब्जा कर सके, और आपके पास बाएं तरफ स्क्रॉल सूचक है। (वैकल्पिक रूप से, इसे मूल के ऊपर ले जाएं और इसे एफ़िन ट्रांसफॉर्म के साथ क्षैतिज रूप से फ़्लिप करें।) पागल शहर की यात्रा पर अपना यूआई लेने के लिए इसे कहीं और पूरी तरह से रखें। (या नहीं।) सुनिश्चित करें कि यदि आप शीर्ष पर स्तरित हैं, तो आप इसे स्पर्शों को अनदेखा कर सकते हैं।

2

इन्हें प्राप्त करने के लिए एक त्वरित तरीका (अगर आप पंक्ति क्रियाओं का उपयोग नहीं कर रहे हैं) अतिरिक्त तालिका दृश्यों के साथ इन्सेट की गणना या गड़बड़ किए बिना, तालिका दृश्य को वाई-अक्ष (फ्लिप) में बदलना होगा और फिर ट्रांसफॉर्म करना होगा जब आप उन्हें प्राप्त करते हैं तो कोशिकाएं वापस आती हैं।

tableView.transform = CGAffineTransformMakeScale(1, -1); 

और फिर

cell.transform = CGAffineTransformMakeScale(1, -1); 
संबंधित मुद्दे