NSCollectionView: переход к следующему представлению при выборе с помощью выбранного элемента

Я новичок в OS X и начал работать с NSCollectionView. Я пытаюсь показать NSCollectionView с массивом изображений и метками. И при выборе изображения я хочу открыть новый класс viewController. Я могу показать массив изображений и меток в представлении коллекции, но я совершенно не понимаю, как перейти к новому представлению с выбором, сделанным в NSCollectionView, и как показать изображение, выбранное для нового класса viewController.

У меня есть NSTabView, и у меня есть customView, в котором я показываю CollectionView. И в awakeFromNib я делаю это, чтобы заполнить свой collectionView

  -(void)awakeFromNib
{
arrItems = [[NSMutableArray alloc]init];
 NSMutableArray *imageArray=[[NSMutableArray alloc]initWithObjects:@"Baby-Girl-Wallpaper-2012-7.jpg",@"Cute-Little-Baby-Girl.jpg",@"Joker_HD_Wallpaper_by_RiddleMeThisJoker.jpg",@"The-Dark-Angel-Wallpaper-HD.jpg",@"hd-wallpapers-1080p_hdwallpapersarena_dot_com.jpg",@"lion_hd_wallpaper.jpg",@"Ganesh_painting.jpg",@"krishna-wallpaper.jpg",@"LeoN_userpic_79630_fire_lion_by_alex_barrera.jpg",@"273483.png",@"japan_digital_nature-wide.jpg", nil];
NSMutableArray *imageName = [[NSMutableArray alloc]initWithObjects:@"Baby-Girl",@"Cute-Little",@"Joker",@"The-Dark",@"hd-wallpapers", @"lion", @"Ganesh", @"krishna", @"LeoN_userpic",@"273483.png",@"japan_digital", nil];

for(int i = 0; i<[imageArray count]; i++)
{
    STImageCollectionModal * img1 = [[STImageCollectionModal alloc] init];
    img1.image = [NSImage imageNamed:[imageArray objectAtIndex:i]];
    img1.imageName = [NSString stringWithFormat:@"%@",[imageName objectAtIndex:i]];
    [arrItems addObject:img1];
}
[collectionView setContent:arrItems];
}

Позже я создал новый класс с именем «STCollectionView», подкласс NSCollectionView, и назначил класс collectionView «STCollectionView», а с помощью метода setSelectionIndexes я попытался получить индекс выбранного элемента этим

  - (void)setSelectionIndexes:(NSIndexSet *)indexes
 NSLog(@"%ld",[indexes firstIndex]);

Но этот метод вызывается дважды, и всякий раз, когда я ставлю «super setSelectionIndexes», он дает мне значение мусора. Я ищу все это, но не могу найти какое-либо решение. Пожалуйста помоги..

Заранее спасибо.


person Amrendra Pratap Singh    schedule 25.04.2013    source источник
comment
выбрана ли ваша коллекция?   -  person user23790    schedule 23.05.2013


Ответы (1)


Ваш вопрос сбивает меня с толку. Я думаю, что вы можете выполнить эту задачу, просто добавив UICollectionView и в UICollectionView добавьте пользовательский UICollectionViewCell. В пользовательский UICollectionViewCell добавьте UIImageView и UILabel. в методе

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
static NSString *identifier = @"ReuseID";
    UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];
    cell.imageView.image = [UIImage imagewithNmaed:@"your Image name"];
    cell.label.text = @"image Named";
return cell;
  }

и в StoryBoard удерживайте CLT + перетащите к вашему UIViewController. В методе prepareForSgue Method передайте данные в ваш Next viewController.

person Burhan Ahmad    schedule 25.04.2013
comment
Я работаю на OS X, а не на IOS. Я знаю, как обращаться с UICollectionView в ios, но в OS X, т.е. в приложении Mac, я не знаю, как обращаться с NSCollectionView. - person Amrendra Pratap Singh; 25.04.2013