我正在构建一个应用程序,列出用户当前位置周围的火车站。在选择车站时,应用程序应列出在那里运行的列车的详细信息。但是,我不想导航到新的View控制器,而是想在同一原始视图控制器中的View中设置动画,该视图具有不同的UITableView。但是当我尝试这样做时,第一个UITableView(列出工作站的那个)显示在第二个视图中。我可以在同一个UIViewController中加载两个不同的UITableView吗? 注意: - 不要使用swift
答案 0 :(得分:0)
您必须为tableviews
设置标记,并在tableview
delegate
和datasource
方法中使用此标记来填充数据
答案 1 :(得分:0)
我遇到了同样的问题。创建一个TableView并创建两个不同的dataSource(最好将它放在一个单独的文件中)。因此,当您需要更改数据时,只需设置另一个dataSource并重新加载数据。
答案 2 :(得分:0)
首先
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
然后你必须根据你的tableView
设置你的行- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (tableView == self.tableView1){
//Return the count you want inside self.tableView1
}
else if (tableView == self.tableView2){
//Return the count you want inside self.tableView2
}
else{
return 0;
}
}
最后在你的cellForRowAtIndexPath里面根据你的TableView设置你的表值。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (tableView == self.tableView1){
static NSString *CellIdentifier = @"Cell";
//reference the cells to the right tables
UITableViewCell *cell = [self.tableView1 dequeueReusableCellWithIdentifier: CellIdentifier forIndexPath:indexPath];
}
else if (tableView == self.tableView2){
static NSString *CellIdentifier2 = @"Cell2";
UITableViewCell *cell2 = [self.tableView2 dequeueReusableCellWithIdentifier: CellIdentifier2 forIndexPath:indexPath];
}
else{
return 0;
}
}
将您的第二个tableView
作为子视图添加到self.view
答案 3 :(得分:0)
创建两个tableViews出口
@IBOutlet weak var imgTableView: UITableView!
@IBOutlet weak var commentTableView: UITableView!
现在在这里使用带有if条件的两个不同的tableviews来为它们分配不同的数据,
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if tableView == imgTableView {
return Array1.count
}
else if tableView == commentTableView {
return Array2.count
}
return 1
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
if tableView == imgTableView {
var cell : ProductTableViewCell? = tableView.dequeueReusableCellWithIdentifier("cell") as? ProductTableViewCell;
var data : NSString = Array1.objectAtIndex(indexPath.row) as NSString;
cell?.configureCell(data)
return cell!
}
else if tableView == commentTableView {
var cell : CommentTableViewCell = tableView.dequeueReusableCellWithIdentifier("cell") as CommentTableViewCell
var data : NSDictionary = Array2.objectAtIndex(indexPath.row) as NSDictionary;
cell.configureCell(data, cellType: CommonCellType.Products)
return cell
}
return tableView.dequeueReusableCellWithIdentifier("cell") as UITableViewCell
}