2011-03-30 82 views
0

我想將表添加到已具有搜索欄和一些文本的視圖中。基於視圖的應用程序中的UITableView

如果我創建了一個基於導航的項目,然後我可以使用

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 

,但我不能這樣做,內部的視圖基於應用程序。

我真的不需要多個部分只是一個。我該怎麼做呢? 感謝

回答

0

要做到這一點,你必須一個UITableView添加到您的viewController,然後定義你的tableview一樣的委託(S):

tableView.delegate = self; 
tableView.dataSource = self; 

這樣,你的表視圖會打電話給你的類獲取其數據,並知道如何呈現它們。這意味着您的方法tableView:numberOfRowsInSection:將被調用。

+0

謝謝,完美的作品。我還添加了UITableViewDelegate和UITableViewDataSource協議。 – shashu10 2011-03-30 22:18:37

0

你必須創建一個tableView(在代碼或Interface Builder中),設置委託和數據源,然後添加tableView作爲你當前視圖的子視圖;

所以,如果你沒有編程(而不是界面生成器),它看起來是這樣的:

UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.frame style:UITableViewStylePlain]; 
tableView.delegate = self; 
tableView.dataSource = self; 
[self.view addSubView:tableView]; 

,然後你需要實現的UITableViewDelegate和UITableViewDataSource協議。

TableView Programming Guide

0

你提的方法是「UITableViewDataSource協議參考」的一部分,只有遠程與您所描述的問題。你可以通過InterfaceBuilder或通過代碼添加一個tableView(像其他視圖一樣)。在代碼中,它看起來像這樣:

UITableView* tableView = [[UITableView alloc] init]; 
tableView.delegate = self; 
tableView.dataSource = self; 
[self.view addSubview:tableView]; 

(假設您在viewController中執行此操作)。 請記住,你需要實現

– tableView:numberOfRowsInSection: 

– tableView:cellForRowAtIndexPath: 

在你的viewController使這所有的工作(見UITableViewDataSource協議參考)

我建議你看一看「Table View Programming Guide for iOS」如果你還沒有!

相關問題