AQGridview不调用数据源方法

时间:2011-05-09 20:23:52

标签: iphone xcode aqgridview

我正在尝试基于/ examples文件夹中的ImageDemo实现AQGridView。我有一个带有以下声明的视图控制器:

@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];

执行该行但未调用AQGridView中的reloadData方法。与ImageDemo的唯一区别是我没有视图控制器的.xib文件。我是否忘记了连接某些东西,导致数据源方法没有被调用?

3 个答案:

答案 0 :(得分:1)

如果没有XIB,那么谁在创建gridView?如果它永远不会创建,那么它将是NIL,并且您将拥有您描述的行为。 (如果就是这样,那么只需添加: self.gridview = [AQGridView alloc] initWithFrame: ...];就足够了。

答案 1 :(得分:0)

也许你可以尝试实现这个:

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

}

答案 2 :(得分:0)

有同样的问题。使用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];
}