在tableView单元格中的UIScrollView

时间:2011-05-19 10:08:48

标签: iphone ipad

我想使用tableviewcell里面的滚动视图。我写了以下代码。但是滚动视图是不可见的。请任何人帮我解决这个问题。

- (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;  

}  

这里,cellScrollView是在XIB中创建的。

提前致谢,


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;

我确实喜欢这个..但没有用..滚动视图在单元格中不可见。 Priya可以帮助我。

2 个答案:

答案 0 :(得分:2)

HI,

我得到了答案,问题是没有设置scrollview高度。现在它的工作完全没问题。感谢所有试图回答这个问题的人。

    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;

}

答案 1 :(得分:0)

在此方法中添加您的部分代码

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

并添加[cell.contentView addSubview:m_scrolLView];