0

ココアコントロールのプロジェクトに基づいてコレクションビューを実装しています

http://www.cocoacontrols.com/platforms/ios/controls/klsectionselect

配列に6つのアイテムが格納されています。

私の質問は次のとおりです。ifステートメントを使用して、P リストに格納されている配列内の項目 1 から 6 を参照して、選択したときにそれらの項目の実装/アクションを追加するにはどうすればよいですか?

これまでのところ、コンテナビューのアップルのドキュメントを見てみました-実際にはそれ以上ではありません

また、ifステートメントを追加してみましたif ((collectionView = 0))およびその他のそのような推測 '

ここに画像の説明を入力

-(NSInteger) collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return [self.sectionData count];
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
[collectionView registerClass:[KLHeaderViewCell class] forCellWithReuseIdentifier:@"Cell"];
KLHeaderViewCell* cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath];
NSDictionary* cellDictionary = [self.sectionData objectAtIndex:indexPath.row];
[cell.image setImage:[UIImage imageNamed: [cellDictionary objectForKey:@"image"]]];
[cell.label setText:[cellDictionary objectForKey:@"text"]];
return cell;
}


-(void) didSelectItem:(UICollectionView*)collectionView item:(UICollectionViewCell*) cell {


        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Note1" message:@"© 2012 " delegate:nil cancelButtonTitle: @"Ok" otherButtonTitles: nil];

    [alert show];



}

これは私が試したもので、説明に役立つかもしれません

- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {

if 
    ((collectionView = Item 0)){

        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Note1" message:@"© 2012 " delegate:nil cancelButtonTitle: @"Ok" otherButtonTitles: nil];

    [alert show];

    }

else if ((collectionView =Item 1)){

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"New Note" message:@" © 2012 " delegate:nil cancelButtonTitle: @"Ok" otherButtonTitles: nil];

    [alert show];




}

}
4

3 に答える 3

0

デリゲートメソッドを実装します-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath。

- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
 NSDictionary* cellDictionary = [self.sectionData objectAtIndex:indexPath.row];
} 

クラスがコレクションビューのデリゲートとして設定されていることを確認してください。

于 2012-11-21T20:26:11.770 に答える
0

これを行う代わりに:

-(void) didSelectItem:(UICo`enter code here`llectionView*)collectionView item:(UICollectionViewCell*) cell {

...あなたは書くべきです:

- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
于 2012-11-21T19:05:54.927 に答える
0

私はあなたの質問を理解しているかどうか確信が持てませんが、選択されたアイテムの行を見てみてください.

- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath (NSIndexPath *)indexPath {

if (indexPath.row = 0){

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Note1" 
                                                    message:@"© 2012 " 
                                                   delegate:nil 
                                          cancelButtonTitle: @"Ok" 
                                          otherButtonTitles: nil];
    [alert show];
}
else if (indexPath.row = 1){

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"New Note" 
                                                    message:@"© 2012 " 
                                                   delegate:nil 
                                          cancelButtonTitle: @"Ok" 
                                          otherButtonTitles: nil];
    [alert show];
}
else if ...

}

于 2012-11-21T20:39:41.540 に答える