0

Web サービスから画像を表示するために AQGridView を使用しています。セルに触れると、didSelectItemAtIndexデリゲートが呼び出されません。デリゲートが呼び出されたnumberOfItemsInGridViewので、デリゲートとデータソースのセットアップが完了したと思います。コードは次のとおりです。

PhotoGridViewController.h

#import "AQGridView.h"
#import "PhotoGridViewCell.h"

@interface PhotoGridViewController : UIViewController<AQGridViewDelegate,AQGridViewDataSource>

@property (nonatomic, strong) NSArray *imageDictionaries;
@property (weak, nonatomic) IBOutlet AQGridView *gridView;
@property (nonatomic, retain) IBOutlet PhotoGridViewCell *gridViewCellContent;

-(void)refreshImages;

@end

PhotoGridViewController.m

#import "PhotoGridViewController.h"
#import "PhotoGridViewCell.h"
#import "AQGridViewCell.h"

@interface PhotoGridViewController ()
@end

@implementation PhotoGridViewController

@synthesize imageDictionaries = _imageDictionaries;  
@synthesize gridView=_gridView;
@synthesize gridViewCellContent = _gridViewCellContent;

... ヘルパー メソッド、セル作成、および画像フェッチ メソッド ...

- (NSUInteger) numberOfItemsInGridView: (AQGridView *) aGridView
{
    return ( [self.imageDictionaries count] );
}

^^^ このデリゲート メソッド^^^^ ... と呼ばれます。

-(void)gridView:(AQGridView *)gridView didSelectItemAtIndex:(NSUInteger)index {
    NSLog (@"Selected theArgument=%d\n", index);
}

その NSLog ステートメントは呼び出されません。私はこのプロジェクト - http://fdiv.net/2011/10/29/reusable-views-ios - を私の作成のガイドとして使用しました。それはうまく機能します。両方をデバッグし、起動からセルに触れるまでの各ステップを実行しましたが、どこが間違っているのかわかりません。うまくいけば、これは私が見ていない明らかなものです。

編集:この行のため、セルが選択されています

cell.selectionStyle = AQGridViewCellSelectionStyleGlow;

触れたときのセルの変化を示します。

4

1 に答える 1

2

デリゲートを設定する必要があります。きっと忘れます。

self.gridView.delegate = self;
self.gridView.dataSource = self;
于 2012-05-15T21:04:19.107 に答える