मैं एक सामान्य रूप से प्रस्तुत दृश्य नियंत्रक के अंदर प्रदर्शित करने के लिए UICollectionView प्राप्त करने का प्रयास कर रहा हूं। एप्लिकेशन आईपैड आईओएस 7.कोशिकाओं को प्रदर्शित करने के लिए UICollectionView नहीं मिल सकता
मैं उपवर्ग UIViewController की (एक निब के साथ) इस तरह बना लिया है और कहा कि इसके लिए है:
MyViewController *controller = [[MyViewController alloc] init];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:controller];
navController.modalPresentationStyle = UIModalPresentationFullScreen;
navController.navigationBar.barStyle = UIBarStyleBlackTranslucent;
[self presentViewController:navController animated:YES completion:nil];
यह दृश्य नियंत्रक प्रतिनिधि और डेटा स्रोत मेरी UICollectionView के लिए हो रहा है इसलिए मैंने शीर्ष पर UICollectionViewDataSource और UICollectionViewDelegate जोड़ा है।
मैं निब में एक UICollectionView रख दिया और MyViewController के एक आउटलेट जोड़ दिया है:
self.collectionViewController.dataSource = self;
self.collectionViewController.delegate = self;
मैं भी जोड़ दिया है:
@property (strong, nonatomic) IBOutlet MyCollectionView *collectionViewController;
मैं MyViewController में viewDidLoad में यह जोड़ दिया है MyViewController के लिए निम्न:
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
NSLog(@"Items in section: %d", itemsArray.count); // returns correct amount
return itemsArray.count;
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"cellForItemAtIndexPath %@", indexPath); // returns as expected
static NSString *identifier = @"MyCell";
[self.collectionViewController registerClass:[MyCollectionCell class] forCellWithReuseIdentifier:identifier];
MyCollectionCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];
UIImageView *myImageView = (UIImageView *)[cell viewWithTag:100];
myImageView.image = [UIImage imageNamed:[itemsArray objectAtIndex:indexPath.row]];
return cell;
}
मैं भी UICollection का एक उपवर्ग सेट कर लेते हैं MyCell पर पहचानकर्ता के साथ ViewCell और टैग 100 के साथ UIImageView में जोड़ा गया।
जब भी मैं इस दृश्य नियंत्रक को लाता हूं तो मुझे नेविगेशन बार अपेक्षित के रूप में मिल रहा है, लेकिन UICollection दृश्य मैंने अपने निब में जोड़ा है कहीं नहीं देखा जाना है। मैं जो देख रहा हूं वह काला है जहां संग्रह दृश्य होना चाहिए। यदि मैं MyCollectionView के पृष्ठभूमि रंग को डिफ़ॉल्ट से सफेद में बदलता हूं, तो मुझे सफेद दिखाई देता है जहां संग्रह दृश्य होना चाहिए। ऐसा लगता है कि MyCollectionView ला रहा है, लेकिन कोई भी सेल नहीं दिखा रहा है।
[क्या आपने एपकोडा ट्यूटोरियल का पालन किया था?] (Http://www.appcoda.com/ios-collection-view-tutorial/) –