UIScrollView в ячейке tableView - PullRequest
1 голос
/ 19 мая 2011

Я хочу использовать представление прокрутки внутри ячеек таблицы. Я написал следующий код. Но скроллвид невидим. Может ли кто-нибудь помочь мне в этом, пожалуйста.

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

2 голосов
/ 23 мая 2011

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 голосов
/ 19 мая 2011

Добавьте Вашу часть кода в этом методе

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

и добавьте [cell.contentView addSubview:m_scrolLView];

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...