Reputation: 84
I want to use the scroll view inside the tableviewcell. I have written the following code. But the scrollview is invisible. can any one help me regarding this please.
- (UITableViewCell *)tableViewCellWithReuseIdentifier:(NSString *)identifier indexPath:(NSIndexPath*)indexPath {
CustomCell *cell = [[[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"CELL"] autorelease];
UIScrollView *m_scrolLView = [[UIScrollView alloc] initWithFrame:cell.contentView.frame];
m_scrolLView.contentSize = CGSizeMake((100 * [itemsArray count]), cell.contentView.frame.size.height);
// CGRect scrollFrame = cell.cellScrollView.frame;
for (int i = 0 ; i < [itemsArray count]; i++) {
UIImageView *tempImageView = [[UIImageView alloc] initWithImage:[itemsArray objectAtIndex:i]];
CGRect m_frame;// = cell.cellScrollView.frame;
m_frame.origin.x = ((100 * i) + 3);
m_frame.origin.y = 0;//frame.origin.y;
m_frame.size.width = 100;
// m_frame.size.height = scrollFrame.size.height;
tempImageView.frame = m_frame;
[m_scrolLView addSubview:tempImageView];
tempImageView = nil;
}
cell.cellScrollView = m_scrolLView;
//cell.cellScrollView = m_scrolLView;
[m_scrolLView release];
// [cell.contentView addSubview:m_scrolLView];
return cell;
}
Here, the cellScrollView is created in XIB.
Thanks in advance,
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
UIScrollView *m_scrolLView = [[UIScrollView alloc] initWithFrame:cell.contentView.frame];
m_scrolLView.contentSize = CGSizeMake((100 * [itemsArray count]), cell.contentView.frame.size.height);
// CGRect scrollFrame = cell.cellScrollView.frame;
for (int i = 0 ; i < [itemsArray count]; i++) {
UIImageView *tempImageView = [[UIImageView alloc] initWithImage:[itemsArray objectAtIndex:i]];
CGRect m_frame;// = cell.cellScrollView.frame;
m_frame.origin.x = ((100 * i) + 3);
m_frame.origin.y = 0;//frame.origin.y;
m_frame.size.width = 100;
// m_frame.size.height = scrollFrame.size.height;
tempImageView.frame = m_frame;
[m_scrolLView addSubview:tempImageView];
tempImageView = nil;
}
[cell.contentView addSubview:m_scrolLView];
// Configure the cell.
return cell;
I did like this .. But no use.. scroll view is not visible in cell. Priya can u help me on this.
Upvotes: 1
Views: 1780
Reputation: 152
Add Your part of code in this method
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
and add [cell.contentView addSubview:m_scrolLView];
Upvotes: 0
Reputation: 84
HI,
I got answer, the problem was the scrollview height was not set. Now its working completely fine. Thanks for everyone who tried to answer this question.
UIScrollView *m_scrolLView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, cell.contentView.frame.size.width, 150)];
m_scrolLView.contentSize = CGSizeMake((100 * [itemsArray count] + 5), cell.contentView.frame.size.height);
for (int i = 0 ; i < [itemsArray count]; i++) {
UIImageView *tempImageView = [[UIImageView alloc] initWithImage:[itemsArray objectAtIndex:i]];
CGRect m_frame = m_scrolLView.frame;
m_frame.origin.x = ((100 * i) + 5);
m_frame.origin.y = 0;
m_frame.size.width = 90;
m_frame.size.height =150;
m_scrolLView.backgroundColor = [UIColor lightGrayColor];
m_scrolLView.pagingEnabled = YES;
[m_scrolLView addSubview:tempBTN];
tempImageView = nil;
//cell.cellScrollView = m_scrolLView;
}
[cell.contentView addSubview:m_scrolLView];
m_scrolLView = nil;
// Configure the cell.
return cell;
}
Upvotes: 2