UIWebView внутри UIScrollView внутри UITableviewCell - PullRequest
0 голосов
/ 23 сентября 2011

У меня есть UIScrollViews внутри табличного представления (табличное представление с десятью ячейками) .. в каждом UIScrollView у меня есть девять веб-просмотров (дерево на странице). Моя проблема: когда прокручивается табличное представление вниз ... содержимое веб-просмотра появляется неожиданным образом ... данные не отображаются в правильном положении (indexPath.row в позиции другого indexPath.row), я думаю, что я не могу установить повторно используемую ячейку наверное ..

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPathk { 

    ArticlestableView.separatorStyle = UITableViewCellSeparatorStyleNone;
        static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    //cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle  reuseIdentifier:CellIdentifier] autorelease];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc]
             initWithStyle:UITableViewCellStyleDefault 
             reuseIdentifier:CellIdentifier] autorelease];

        previewScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(5, 20, 648, 185)];
        [previewScrollView setContentSize:CGSizeMake(1944, 185)];
        previewScrollView.backgroundColor = [UIColor clearColor];
        previewScrollView.pagingEnabled = YES;
        previewScrollView.tag = 000;

        float margin = 5.0;
        float offset = margin;


        for (int i=0; i < 9; i ++) {
            NSLog(@"i : %i",i);

            int arrayIndex = i;

            CGRect frame1 = CGRectMake(offset, 0.0, 206, 180 );
            Node =[[UIWebView alloc] initWithFrame:frame1];
            Node.delegate = self;
            Node.userInteractionEnabled = NO;
            Node.opaque = NO;
            Node.backgroundColor = [UIColor clearColor];
            Node.tag = [[NSString stringWithFormat:@"111%i%i",indexPath.row,i] intValue];

            [previewScrollView addSubview:Node];
            [Node release]; 

            offset= offset + 216;

        }

        previewScrollView.showsHorizontalScrollIndicator = NO;
        previewScrollView.showsVerticalScrollIndicator = NO;


        CGPoint bottomOffset = CGPointMake([previewScrollView contentSize].width-previewScrollView.frame.size.width,0 );
        [previewScrollView setContentOffset: bottomOffset animated: NO];

        [[cell contentView] addSubview:previewScrollView];


    }

    previewScrollView = (UIScrollView *)[cell.contentView viewWithTag:000];

    for (int j=0; j < 9; j ++) {
        int arrayIndex = j;

        Node = (UIWebView *)[previewScrollView viewWithTag:[[NSString stringWithFormat:@"111%i%i",indexPath.row,j] intValue]];
        Node.delegate = self;
        str  = [NSString stringWithFormat:@"%i",indexPath.row];
        [Node loadHTMLString:str baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];
        btnTitle = (UIButton *)[cell.contentView viewWithTag:[btnTitleTag intValue]];
    }


    return cell;
}

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 23 сентября 2011

Одной из проблем является использование тега 0, поскольку все представления имеют этот тег по умолчанию.

...