Привет Я пытаюсь получить доступ к информации ячейки ячейки UICollection через UIsegmentedcontrol.Невозможно получить доступ к информации о ячейке отображения UICollection
В представлении коллекции у меня есть четыре метки и UIsegmented control. При нажатии на сегментированный элемент управления я хочу отображать значения меток.
вот мой код.
- (UIView *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
CollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"CELL" forIndexPath:indexPath];
cell.mySegmentedControl.tag = indexPath.row;
selectedSegment = cell.mySegmentedControl.selectedSegmentIndex;
[cell.mySegmentedControl addTarget:self action:@selector(segmentValueChanged:) forControlEvents:UIControlEventValueChanged];
cell.caseid.text=[tmpDict objectForKey:@"CaseId"];
caseid = [tmpDict objectForKey:@"CaseId"];
}
- (void) segmentValueChanged: (UISegmentedControl *) sender {
//NSInteger index = sender.tag;
if(sender.selectedSegmentIndex == 0)
{
NSString *localcaseid = caseid; // it shows default value may be first cell value.
CollectionViewCell * cell = [[CollectionViewCell alloc]init];
NSString *localcaseid = cell.caseid.text; //it prints null value
}
else
{
}
Приведенные выше код не работает для me.any помощи будет appreciated.I хочет отобразить информацию для этой конкретной ячейки.
Вы получаете контроллер внутри segmentValueChanged (метод //) ? – Aneesh
no ............. –
Основная проблема заключается в том, что вы не отслеживаете экземпляр UICollectionViewCell. Когда вы создаете новый экземпляр 'UICollectionViewCell', caseid не будет тем, который вы ожидаете. Проблема может быть решена, если вы создадите пользовательский делегат и передаете ячейку в качестве параметра в нее. Если вам нужна дополнительная помощь, дайте мне знать. – dirtydanee