2011-05-19 51 views
1

我想使用tableviewcell中的滾動視圖。我寫了下面的代碼。但滾動視圖是不可見的。請任何人都可以幫助我。UIScrollView在表格單元格中

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

我不喜歡這樣。但是沒有用..滾動視圖是不是在細胞可見。普里亞可以幫我解決這個問題。

回答

2

HI,

我得到了答案,這個問題是滾動視圖的高度沒有設置。現在它的工作非常好。感謝所有試圖回答這個問題的人。

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; 

}

+0

很好的答案,謝謝 – 2012-04-10 13:05:31

0

添加您的代碼部分在該方法

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

,並添加[cell.contentView addSubview:m_scrolLView];