2011-03-20 9 views
9

मैं iPhoto '11 में एक जैसा एनएससीओलेक्शन व्यू बनाना चाहता हूं। मैं अनुभाग में कई चित्रों को समूहित करना चाहता हूं, और एक सेक्शन हेडर भी बनाना चाहता हूं। एक विशिष्ट खंड का सेक्शन हेडर हमेशा तब तक दिखाई देता है जब तक कि उस खंड का अंतिम तत्व दिखाई न दे। आप यह देखने के लिए तस्वीर पर एक नज़र डाल सकते हैं कि मेरा क्या मतलब है।एनएससीओलेक्शन दृश्यों के साथ देखें - जैसे iPhoto

संपादित करें: मुझे यह जोड़ना चाहिए कि सामग्री छवियां नहीं हैं।

enter image description here

अग्रिम

उत्तर

2

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

किसी भी तरह से, आपका दृश्य/परत पदानुक्रम एक जैसा होगा। आपके पास एक शीर्ष-स्तरीय कंटेनर होगा जिसमें केवल एक कॉलम होगा (चूंकि समूह पूरी चौड़ाई में फैले हुए हैं), फिर आइटम की चौड़ाई के आधार पर उसमें प्रत्येक आइटम में कॉलम की संख्या होगी। यानी आपके 'समूह' संग्रह दृश्य आइटम चौड़ाई भरने के लिए फैले होंगे, लेकिन उन समूहों के भीतर आपकी व्यक्तिगत वस्तुएं नहीं होंगी।

यदि आप कच्चे CALayer दृष्टिकोण का उपयोग करना चुनते हैं, तो आप CAConstraintLayoutManager पर देखना चाहेंगे। यह जादू को NSCollectionView के अंदर प्रदान करता है। इस पर जानकारी की तलाश शुरू करने के लिए एक अच्छी जगह Bill Dudney's CoreAnimation book from Pragmatic Programmers है। विधेयक अब ऐप्पल के लिए आधिकारिक मंच प्रचारक है, इसलिए मुझे लगता है कि यह कहना सुरक्षित है कि वह जानता है कि वह वहां क्या बात कर रहा है।

कुल मिलाकर, मैं के साथ शुरू करने के लिए एक नेस्टेड NSCollectionView दृष्टिकोण का उपयोग कर सुझाव देंगे और वह भी तब प्रदर्शन की कमी प्रतीत हो रहा है कच्चे CoreAnimation करने के लिए नीचे गिर देखो, या यदि आप मुद्दों कुछ सामान काम करने के लिए हो रही है। NSCollectionView का उपयोग करके आप अपने सभी वर्तमान NSView-जगह में रह सकते हैं, इसलिए यह कम काम होगा। यदि यह ठीक हो जाता है, तो आप घर & सूखे हैं। यदि नहीं, तो आपके पास कुछ और चीज है जो आप अपने दिल की सामग्री में ट्विक कर सकते हैं।
enter image description here

चेक इस:

+0

NSCollectionView अपने सभी एक ही ऊंचाई नहीं किया जा रहा पसंद नहीं है, तो नेस्टेड संग्रह विचारों शायद जब तक आप डॉन 'काम नहीं करेगा उन्हें स्क्रॉलिंग दिमाग में नहीं है। –

-3
+0

यह उदाहरण NSTableView के बारे में है जो NSCollectionView से संबंधित नहीं है। – McZonk

+0

@McZonk हां, यह एनएसटीबल व्यू के बारे में है। क्योंकि जहां तक ​​मुझे पता है, आप एनएससीओलेक्शन व्यू का उपयोग करके आईफोटो-जैसे-व्यू नहीं बना सकते हैं। तो अनुभाग के साथ NSTableView का उपयोग करें, और अपना खुद का संग्रह देखें। – kilik52

+0

एनएसटीबल व्यू का उपयोग करके आप बहुत सारी लचीलापन खो देते हैं जो एनएससीओलेक्शन व्यू ऑफ़र करता है। शायद https://github.com/phranck/CNGridView/ एक कोशिश के लायक है? – McZonk

संबंधित मुद्दे