Как загрузить стили ячеек в другой коллекции в одном табличном - PullRequest
0 голосов
/ 05 июня 2018

На самом деле я хочу достичь приведенного ниже дизайна Entire tableview design

Здесь я использую XIB для загрузки различных коллекционных представлений в каждом разделе табличного представления.Это моя структура дизайна Viewcontroller и ячейки viewview внутри ячейки tableview.XIB design structure enter image description here

Я пробовал кое-что, это для вашей справки.

Tableviewcell.m

- (void)awakeFromNib {
    [super awakeFromNib];
    // Initialization code
    [collection registerNib:[UINib nibWithNibName:@"ScheduleCell" bundle:nil] forCellWithReuseIdentifier:@"cellid"];
    [collection registerNib:[UINib nibWithNibName:@"ResultCell" bundle:nil] forCellWithReuseIdentifier:@"cellno"];
    [collection registerNib:[UINib nibWithNibName:@"ResultCell1" bundle:nil] forCellWithReuseIdentifier:@"cellno1"];
    [collection registerNib:[UINib nibWithNibName:@"ResultCell2" bundle:nil] forCellWithReuseIdentifier:@"cellno2"];
    [collection registerNib:[UINib nibWithNibName:@"ResultCell3" bundle:nil] forCellWithReuseIdentifier:@"cellno3"];



}

-(void)configureCell:(id <UICollectionViewDelegate,UICollectionViewDataSource>)delegate andIndex:(NSIndexPath *)indexPath andTitile:(NSString *)title{
    collection.dataSource = delegate;
    collection.delegate = delegate;
    collection.tag = indexPath.section;

    NSLog(@"collectionArray %ld",(long)collection.tag);

    dispatch_async(dispatch_get_main_queue(), ^{
        [self.collection reloadData];
    });


}

Viewcontroller.m

Я вызвал метод настройки ячейки из делегата ниже

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{

[Tablecell configureCell:self andIndex:indexPath andTitile:@"Events"];

}

Все вызваны, но я не смог получить collectionview.tag от их соответствующего делегата. Так, я не мог загрузить различные ячейки коллекции здесь.Любой направит меня на правильный путь, если я ошибаюсь.

Ваши предложения приветствуются в быстрой или Objective-C

У меня есть проблемы с загрузкой различных ячеек. Здесьчто collectionView.tag всегда nil. При назначении тега в методе configurecell его нельзя назначить.Поскольку collection память не выделена. Я не могу загрузить разные ячейки.

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
    UICollectionViewCell* ColCell;

    if (collectionView.tag == 1) {

        ScheduleCell* cell = (ScheduleCell *)[collectionView dequeueReusableCellWithReuseIdentifier:@"cellid" forIndexPath:indexPath];
        cell.eventNamelbl.text = @"ScheduleCell";
        ColCell = cell;
    }
    else if (collectionView.tag == 2){

        ResultCell* cell = (ResultCell *)[collectionView dequeueReusableCellWithReuseIdentifier:@"cellno" forIndexPath:indexPath];
        cell.resultlbl.text = @"ResultCell";
        ColCell = cell;

    }
    else if (collectionView.tag == 3){

        ResultCell1* cell = (ResultCell1 *)[collectionView dequeueReusableCellWithReuseIdentifier:@"cellno1" forIndexPath:indexPath];
        cell.resultlbl.text = @"ResultCell";
        ColCell = cell;
    }
    else if (collectionView.tag == 4){

        ResultCell2* cell = (ResultCell2 *)[collectionView dequeueReusableCellWithReuseIdentifier:@"cellno2" forIndexPath:indexPath];
        cell.resultlbl.text = @"ResultCell";
        ColCell = cell;

    }
    else if (collectionView.tag == 5){

        ResultCell3* cell = (ResultCell3 *)[collectionView dequeueReusableCellWithReuseIdentifier:@"cellno3" forIndexPath:indexPath];
        cell.resultlbl.text = @"ResultCell";
        ColCell = cell;

    }


    return  ColCell;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...