AQGridview не вызывает методы источника данных - PullRequest
1 голос
/ 10 мая 2011

Я пытаюсь реализовать AQGridView на основе ImageDemo в папке / examples.У меня есть контроллер представления со следующим объявлением:

@interface ImageDemoViewController : UIViewController <AQGridViewDelegate,   AQGridViewDataSource, ImageDemoCellChooserDelegate>
{
...

Ни один из методов источника данных в моем контроллере представления, таких как

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

, не вызывается.Вот где я настраиваю gridview, делая мой контроллер представления делегатом для gridview.

- (void)viewDidLoad
{
[super viewDidLoad];   
self.gridView.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
self.gridView.autoresizesSubviews = YES;
self.gridView.delegate = self;
self.gridView.dataSource = self;

images=[[NSMutableArray alloc]init];
[images addObject:@"http://t3.gstatic.com/images?q=tbn:ANd9GcTOXAzFMoK441mcn9V0OemVe_dtAuCpGjBkLrv4rffyOjYIo45BEw"];
[self.gridView reloadData];
}

Если я устанавливаю точку останова на

[self.gridView reloadData];

, строка выполняется, но метод reloadData в AQGridViewне называется.Единственное отличие от ImageDemo в том, что у меня нет файла .xib для контроллера представления.Я забыл что-то подключить, в результате чего методы источника данных не были вызваны?

Ответы [ 3 ]

1 голос
/ 08 июня 2011

Если XIB нет, то кто создает gridView? Если он никогда не создается, то это будет NIL, и вы будете иметь поведение, которое вы описываете. (Если это так, то просто добавив: self.gridview = [AQGridView alloc] initWithFrame: ...]; должно хватить.

0 голосов
/ 27 марта 2013

Была такая же проблема. Решено заменой представления на AQGridView.
[self.view addSubview: self.gridView]

 self.view = self.gridView;

Полный метод:

- (void) viewDidLoad
{
    [super viewDidLoad];

    self.gridView = [[AQGridView alloc] init];
    self.gridView.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
    self.gridView.autoresizesSubviews = YES;
    self.gridView.delegate = self;
    self.gridView.dataSource = self;

    self.view = self.gridView;

    [self.gridView reloadData];
}
0 голосов
/ 01 октября 2012

Может быть, вы могли бы попробовать реализовать это:

- (void)LoadSearch
{
    NSURL *test1 = [NSURL URLWithString:@"http://www.4ddraws.com/search_iphone.asp"];
    NSURLRequest *test = [NSURLRequest requestWithURL:test1];
    [web4D setScalesPageToFit:(YES)];
    [web4D loadRequest:test];

}
...