2012-05-15 4 views
0

Я использую AQGridView для отображения изображений с веб-службы. Когда я касаюсь ячейки, делегат didSelectItemAtIndex не вызывается. Вызывается делегат numberOfItemsInGridView, поэтому я думаю, что у меня есть мои делегаты и настройка источника данных. Вот код:AQGridView didSelectItemAtIndex делегат не называется

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 - в качестве руководства при создании моего. Это хорошо работает. Я отлаживал и то, и другое через каждый шаг от запуска до касания к ячейке, и я не могу узнать, где я ошибаюсь. Надеюсь, это нечто очевидное, что я просто не вижу.

EDIT: Клетки становятся отобраны, так как эта линия

cell.selectionStyle = AQGridViewCellSelectionStyleGlow; 

показывает изменение сот, когда он получает прикосновение.

ответ

2

Вы должны установить делегат. Бьюсь об заклад, вы забываете.

self.gridView.delegate = self; 
self.gridView.dataSource = self; 
+0

Я ЗНАЛ ЭТО !!!! Благодаря тонну. У меня был набор dataSource, но не делегат. Это всегда простой материал. – Eric

Смежные вопросы