2015-07-28 143 views
0

我想要在另一個tableviewCell裏面使用tableview,就像下面的image中的一樣。它顯示了一個完整的單元格,其中有一些細節和一個tableview。我該如何做到這一點?我正在關注這個鏈接Link。這是一箇舊的代碼。它使用xibs.I沒有任何想法在哪裏設置內部tableview的代表。請help.Any建議將是真正有用的。 enter image description here在另一個UItableviewCell裏面的UItableview

+0

顯示您嘗試的代碼? – Matt

回答

1

我的第一個想法是:

  1. 子類的UITableViewCell( 「MainTableViewCell」),並與的UITableViewDelegate和UITableViewDatasource擴展它。

  2. 在「MainTableViewCell」中添加一個TableView「tableViewFilms」和一個數組「電影」。另外不要忘記將tableview的數據源方法添加到實現文件中。 爲了方便地設置單元格,我在頭文件中添加了一個setup-method。一旦細胞被實例化,可以調用它。您可以根據需要修改它,根據需要爲其提供儘可能多的參數,並在實現中(請參閱步驟4)設置內部tableview的數據源和委託。

    - (void)setupCellWithDictionary:(NSDictionary *)dict AndArray:(NSArray *)filmsForInnerTable; 
    

    您可以在數據源的方法調用此方法,一旦細胞被實例化:

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
        MainTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MainTableViewCell" forIndexPath:indexPath]; 
    
        NSDictionary *dict = (NSDictionary *) allDataDictionaries[indexPath.row]; 
        [cell setupCellWithDictionary:dict AndArray:filmsForInnerTable]; 
    
        return cell; 
    } 
    
  3. 子類的UITableViewCell另一次: 「FilmTableViewCell」

  4. 當設置單元格「MainTableViewCell」,將「tableViewFilms」的委託和數據源設置爲self(「MainTableViewCell」的對象)。

    - (void)setupCellWithDictionary:(NSDictionary *)dict AndArray:(NSArray *)filmsForInnerTable{ 
        self.films = filmsForInnerTable; 
        self.tableViewFilms.dataSource = self; 
        self.tableViewFilms.delegate = self; 
        [self.tableView reload]; 
        //more instructions 
    } 
    
  5. 填充使用 「FilmTableViewCells」 與從陣列 「膜」 的數據的tableview。

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
        FilmTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"FilmTableViewCell" forIndexPath:indexPath]; 
    
        Film *film = (Film*)films[indexPath.row]; 
        [cell setupCellWithFilm:film]; 
    
        return cell; 
    } 
    

希望這有助於。

不要忘記使用Outlets,方法定義並設置單元格的重用標識符!

+0

你能解釋第四點嗎? – iosDeveloper

+0

你是說MainTableViewCell.m應該有內部表的數據源方法嗎?如果是這樣,我怎樣才能將數據從mainViewController傳遞到MainTableViewCell.I已經嘗試了很多方法。是否有任何init方法? – iosDeveloper

+0

我編輯了我的答案,這應該對你有所幫助,而且你應該能夠找到自己的方式。 Sry爲錯別字,我在這裏寫了一切,沒有測試它。 – dfinki

1

查看我的回答ios 8 Swift - TableView with embedded CollectionView。你已經用UITableView取代了UICollectionView。其他一切都差不多。它只是以編程方式創建的UITableView和UICollectionView。

如果您不明白,我可以相應地更改它。

+0

我不熟悉swift。你能解釋一下邏輯嗎? – iosDeveloper