2013-04-25 30 views
0

我是新来的OS X,并已开始处理NSCollectionView。我正在尝试做的是用showView数组显示NSCollectionView标签。而在图像的选择上,我想打开一个新的viewController类。我能够在集合视图中显示图像和标签数组,但是我完全丧失了如何使用NSCollectionView中的选择进入新视图以及如何将选择的图像显示到新的viewController类。NSCollectionView:转到所选项目选择的下一个视图

我有一个NSTabView,并且我有我在其中显示CollectionView的customView。而在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]; 
} 

后来我创建了一个名为NSCollectionView的“STCollectionView”子类的新类和分配的CollectionView类“STCollectionView”,并与setSelectionIndexes方法的帮助下,我试图让所选项目由该

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

索引但是这种方法获取调用两次,每当我把“超级setSelectionIndexes”它给了我垃圾值。 我正在全面搜索,但无法找到任何类型的解决方案。请帮忙..

预先感谢您。

+0

是你的collectionview被选中了吗? – user23790 2013-05-23 12:26:04

回答

-1

你的问题是混淆me.What我在想,你可以做这个任务简单地通过增加UICollectionView和UICollectionView添加自定义UICollectionViewCell。在定制UICollectionViewCell添加UIImageViewUILabel。 的方法

- (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; 
    } 

和故事板保持CLT +拖动到你UIViewController。在方法prepareForSgue方法将数据传递到下一个的viewController。

+0

我正在使用OS X而不是IOS。我知道如何处理ios中的UICollectionView,但在OS X中,即Mac应用程序,我不知道如何处理NSCollectionView。 – 2013-04-25 12:23:32

+0

好吧对不起,我没有在NSCollectionView工作 – Burhan 2013-04-25 13:04:29

相关问题