2011-05-09 20 views
1

我想基於/ examples文件夾中的ImageDemo實現AQGridView。我有以下聲明視圖控制器: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文件。我忘了連接什麼,導致數據源方法不被調用?

+0

請張貼的答案....在視圖控制器編程方式創建 – 2012-03-16 04:39:25

回答

1

如果沒有XIB,那麼誰在創建gridView?如果它從來沒有創建過,那麼它將是NIL,並且你會有你描述的行爲。 (如果是這樣的話,那麼就加入: self.gridview = [AQGridView alloc] initWithFrame: ...];應該足夠

+0

GridView控件。 – ChrisP 2011-06-24 00:41:20

+0

抱歉挑剔,但你有調試器或NSLog檢查self.gridView是一個有效的AQGridView在你調用reloadData點?目前沒有委託概念,只是一個直接的方法調用。如果它是有效的,那麼[x y]不會調用對象x的方法y。 – mackworth 2011-06-24 15:54:02

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

} 
+0

答案有幫助嗎? – prediv 2012-10-01 09:39:19

+0

對不起這個問題與這個問題有關係? – Daniel 2013-05-23 13:52:10

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]; 
} 
+0

我發現重載數據部分是這裏的關鍵部分。 – 2013-05-05 20:30:12

相關問題