Scrollview is displayed in multiple tableview cells
I developed one application. I have one issue in that application.
I want to add the scrollview to the tableview cell. I created the tableview cell by using below code.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *CellIdentifier = @"Cell";
ExistingCasesCustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[ExistingCasesCustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
//Adding SwipeGestures to a cell
UISwipeGestureRecognizer *swipeRight = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
[swipeRight setDirection:UISwipeGestureRecognizerDirectionRight];
[cell addGestureRecognizer:swipeRight];
swipeRight=nil;
UISwipeGestureRecognizer *swipeLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
[swipeLeft setDirection:UISwipeGestureRecognizerDirectionLeft];
[cell addGestureRecognizer:swipeLeft];
swipeLeft=nil;
}
cell.buttonEdit.tag=tagForButtonCustomCell*indexPath.row+0;
[cell.buttonEdit addTarget:self action:@selector(btnOptionsClicked:) forControlEvents:UIControlEventTouchUpInside];
cell.buttonShare.tag=tagForButtonCustomCell*indexPath.row+1;
[cell.buttonShare addTarget:self action:@selector(btnOptionsClicked:) forControlEvents:UIControlEventTouchUpInside];
cell.buttonAdd.tag=tagForButtonCustomCell*indexPath.row+2;
[cell.buttonAdd addTarget:self action:@selector(btnOptionsClicked:) forControlEvents:UIControlEventTouchUpInside];
cell.buttonDelete.tag=tagForButtonCustomCell*indexPath.row+3;
[cell.buttonDelete addTarget:self action:@selector(btnOptionsClicked:) forControlEvents:UIControlEventTouchUpInside];
Item *itemObject = [arrSavedDocuments objectAtIndex:indexPath.row];
UILabel *labelDocumentName=(UILabel *)[cell.contentView viewWithTag:tagForLabelDocument];
labelDocumentName.text=itemObject.itemTypeName;
UILabel *labelNumOfPages=(UILabel *)[cell.contentView viewWithTag:tagForLabelNumberOfPages];
labelNumOfPages.text=[NSString stringWithFormat:@"%d", [[itemObject.itemToPage allObjects]count]];
UILabel *labelDate=(UILabel *)[cell.contentView viewWithTag:tagForLabelDate];
labelDate.text=[self parseDateString:itemObject.itemCreatedTimeStamp];
return cell;
}
Here ExistingCasesCustomCell is my custom cell class.
In init method of ExistingCasesCustomCell i added the scrollview with subviews as 4 buttons (buttonEdit, buttonShare, buttonAdd and buttonDelete). Initially scrollview is in hidden position
My Requirement is whenever user swipe on cell the scrollview should display. Whenever user swipe on cell i showed the scrollview.
But my problem is whenever i scroll the tableview the scroll view is displayed in other cells also. How can i resolve this issue.
Thanks in advance,
Rambabu N
Your problem happens because the cells are recycled in a UITableView. Go to your ExistingCasesCustomCell class, override the prepareForReuse method and hide the scroll view.
-(void) prepareForReuse {
self.scrollView.hidden = YES;
}
链接地址: http://www.djcxy.com/p/60506.html
下一篇: 滚动查看显示在多个表格单元格中
