1

我正在尝试基于 /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 文件。我是否忘记连接某些东西,导致数据源方法没有被调用?

4

3 回答 3

1

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

于 2011-06-08T06:42:58.460 回答
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];
}
于 2013-03-27T06:33:56.337 回答
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];

}
于 2012-10-01T09:38:34.800 回答