दिलचस्प पोस्ट
std :: unique_ptr के बनाम बढ़ावा :: ptr_container के साथ एसटीएल कंटेनर पुनर्निदेशित करना और विनिमययोग्य प्रदान करना है? एंड्रॉइड पर पोर्ट्रेट मोड में ज़क्सिंग कैमरा सी # में तरीके कॉल करते समय गर्म डेटा फ्रेम स्तंभ को संख्यात्मक प्रकार में कैसे परिवर्तित किया जाए? चित्र दिए गए चित्र url में दिए गए चित्रों को कैसे प्राप्त करें अपनी खुद की एसटीएल कंटेनर लेखन मैं किसी अन्य संरचना से प्राप्त संरचना को प्रारंभ क्यों नहीं कर सकता? एक एकल फ़ाइल की हार्ड रीसेट जूलिया में "प्रतीक" क्या है? सीमा पृष्ठ पर अंक लगाना पृष्ठ संख्या Minified जावास्क्रिप्ट प्रदर्शन में सुधार? नेस्टेड ऑब्जेक्ट आरंभिक सिंटैक्स WPF – सेट फोकस जब कोई बटन क्लिक किया जाता है – पीछे कोई कोड नहीं पांडस ग्रुप को परिवर्तित करना डेटाफ़्रेम को ऑब्जेक्ट है

क्षैतिज UITableView

मैं अपने आईपैड आवेदन में एक लेआउट को लागू करना चाहता हूं जिसमें एक उपयुक्त दृश्य होता है जो स्क्रॉल बाएं और दाएं बल्कि ऊपर और नीचे होता है:

तो बजाय

पंक्ति 1 पंक्ति 2 पंक्ति 3 (खड़ी स्क्रॉलिंग) यह होगा: पंक्ति 1, पंक्ति 2, पंक्ति 3 (क्षैतिज स्क्रॉलिंग)

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

धन्यवाद

Solutions Collecting From Web of "क्षैतिज UITableView"

मैंने नमूना कोड प्रकाशित किया है जो रूपांतरणों का उपयोग करते हुए क्षैतिज स्क्रॉलिंग तालिका दृश्यों को लागू करने के लिए एक दृष्टिकोण दर्शाता है। यह EasyTableView कहा जाता है और दोनों खड़ी और क्षैतिज स्क्रॉलिंग तालिका दृश्यों के लिए समान इंटरफ़ेस प्रदान करता है।

यह विधि है जिसका मैं उपयोग करता हूं:

1) आप UITableView के उप-वर्ग को लागू करें और इसके initWithCoder: ओवरराइड करें initWithCoder: विधि के रूप में नीचे दिखाया गया है:

 - (id)initWithCoder:(NSCoder *)aDecoder { assert([aDecoder isKindOfClass:[NSCoder class]]); self = [super initWithCoder:aDecoder]; if (self) { const CGFloat k90DegreesCounterClockwiseAngle = (CGFloat) -(90 * M_PI / 180.0); CGRect frame = self.frame; self.transform = CGAffineTransformRotate(CGAffineTransformIdentity, k90DegreesCounterClockwiseAngle); self.frame = frame; } assert(self); return self; } 

2) अपने खुद के UITableViewCell वर्ग बनाएँ और initWithCoder: ओवरराइड initWithCoder: फिर से:

 - (id)initWithCoder:(NSCoder *)aDecoder { assert([aDecoder isKindOfClass:[NSCoder class]]); self = [super initWithCoder:aDecoder]; if (self) { const CGFloat k90DegreesClockwiseAngle = (CGFloat) (90 * M_PI / 180.0); self.transform = CGAffineTransformRotate(CGAffineTransformIdentity, k90DegreesClockwiseAngle); } assert(self); return self; } 

3) अब आप आईबी में एक यूआईटीबल वीव्यू तत्व बना सकते हैं और अपनी पहचान को इंस्पेक्टर में "MyHorizontalTableView" कर सकते हैं।

4) आईबी में अपने UITableViewCell तत्व को बनाएँ और पहचान निरीक्षक में अपनी कक्षा "MyHorizontalTableViewCell" निर्धारित करें।

और बस।

यह अन्य प्रारंभिकताओं को ओवरराइड करके भी काम करेगा, अगर आप अपनी तालिका दृश्य या सेल को इन्स्तांत करने के लिए आईबी का उपयोग नहीं करना पसंद करते हैं।

इस अवधारणा के चारों ओर बनाए गए एक नमूना प्रोजेक्ट को गिटहब में पाया जा सकता है।

यदि आप अपने ऐप को केवल iOS 6 और ऊपर की तरफ से सीमित कर सकते हैं, तो ऐसा करने का सबसे अच्छा तरीका UICollectionView के साथ है।

यदि आपको iOS 4/5 का समर्थन करने की आवश्यकता है, तो UICollectionView के opensource reimplementations में से एक का प्रयास करें, उदा। PSTCollectionView

इस सवाल का जवाब दिया गया है सेब सेब के द्वारा स्क्रोलिंग उदाहरण

दिखाता है कि कैसे दो अलग-अलग शैली UIScrollViews को कार्यान्वित करें। पहली स्क्रॉलर में कई छवियां होती हैं, जो डेटा के एकाधिक खंडों (हमारे मामले में 5 अलग-अलग UIImageViews में) के साथ बड़ी सामग्री लेआउट कैसे दिखाती हैं।

यह आईपैड के लिए भी काम करता है

अभी के लिए आपको UIScrollView का उपयोग करना होगा और स्क्रॉलिंग को क्षैतिज रूप से सेट करना होगा। जैसे डेटा के लिए आपको डिक्यूइंग और ऑप्टिमाइज़ेशन को संभालना आवश्यक है यदि आप एक दर्जन से अधिक वस्तुओं की अपेक्षा नहीं करते हैं, तो आप शायद इसे छोड़ सकते हैं, लेकिन अगर वे आंकड़े सघन हैं तो ऐसे ही डेटा को आउटसोर्सिंग करने और यूआईटीबलव्यू उपयोग के रूप में लोड करने की कोशिश करें। ध्यान दें कि बीबीसी न्यूज़ रीडर ऐप प्रत्येक 'पेज (4 या तो न्यूज आइकनों)' से स्क्रॉल करने के लिए पेजिंग सक्षम करता है।

मैंने एक सरल यूआईएसक्रोलविय्यू उप-वर्ग लिखा था, जैसे यूआईटीबल वीआईएल को सेल पुन: प्रयोज्यता को लागू करना, प्रोजेक्ट एमएमएचओरिज़ांटललिस्ट वीआईटी जीआईटीहब पर है, वहां एक टेस्ट प्रोजेक्ट भी है, ताकि आप इसे एक उदाहरण के साथ कैसे देख सकें, यह पुराने आईओएस संस्करणों जैसे 4.x (शायद यहां तक ​​कि पुराने …)

UITableView को ऊर्ध्वाधर और क्षैतिज स्क्रॉल दोनों को पूरी तरह से करने के लिए एक सरल शानदार चाल है।

आप इसे ऑटोलेआउट के बिना और बिना दोनों कर सकते हैं – मैं इसे ऑटोलेआउट के साथ समझाऊंगा

आपके पास UITableView पर एक चौड़ाई बाधा है और कोई टेलिंग संरेखण बाधा नहीं है। एक IBOutlet के साथ इस चौड़ाई की बाध्य और अपने नियंत्रक में तालिका दृश्य पर गुणों के लिए निम्न सेट करें।

 let contentWidth = 1000 // you calculate that tableViewWidthConstraint.constant = contentWidth tableView.contentSize.width = (contentWidth * 2) - UIScreen.main.bounds.size.width 

तालिका दृश्य क्षैतिज दिशा में सभी सामग्री को प्रस्तुत करने के लिए पूर्ण चौड़ाई की जरूरत है, और हम चाल की स्क्रीन के आकार की तुलना में सामग्री आकार के साथ खेलते हैं।

उनके नीचे दिए गए स्थानों का काम नीचे है लेकिन आप जीवनचक्र में विभिन्न चरणों में कोशिश कर सकते हैं:

 override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) tableViewWidthConstraint.constant = contentWidth } override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) tableView.contentSize.width = (contentWidth * 2) - UIScreen.main.bounds.size.width } // and this is needed to support rotation: override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) { coordinator.animate(alongsideTransition: { (UIViewControllerTransitionCoordinatorContext) -> Void in self.tableView.contentSize.width = (contentWidth * 2) - UIScreen.main.bounds.size.width }, completion: nil) } super.viewWillTransition(to: size, with: coordinator) }