Изменение кадра tableView вызывает проблемы в моем приложении - PullRequest
0 голосов
/ 04 августа 2011

Я хочу показать галерею с помощью tableView в моем приложении для iPad.5 изображений должны быть показаны в портретном режиме и 8 в альбомном режиме.Для достижения этой функциональности я сделал следующее.

1 - Я взял TableView и повернул его на 90 градусов

2 - Я снова повернул ячейку TableView на -90 градусов, чтобы ямогу поместить в него мои изображения.

3 - Я поместил некоторые изображения в свой TableView и добавил его в свой scrollView.

4 - я установил рамки для моего TableView по-разному для портрета и пейзажа....

if(UIInterfaceOrientationIsPortrait(self.interfaceOrnetation)){
    myTableView.frame = CGRectMake(0,0,768,200);

}
 else{
   myTableView.frame = CGRectMake(0,0,1024,200);
}

5 - я также меняю кадры с помощью указанных выше строк в методе didRotateFrominterfaceOrientation.

Я использую следующий код для загрузки изображений в tableView

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



if (cell==nil) {
            NSLog(@"count ");

            cell = [[[UITableViewCell alloc] initWithStyle:UITableViewStylePlain reuseIdentifier:cellIdentifier] autorelease];

            UILabel *pageNumberLabel = [[UILabel alloc] init];
            pageNumberLabel.tag = 10;

            pageNumberLabel.frame = CGRectMake(35, -10, 100, 50);
            [cell.contentView addSubview:pageNumberLabel];

            UIImageView *thumbnailImageView = [[UIImageView alloc] init];
            thumbnailImageView.tag = 20;
            thumbnailImageView.frame = CGRectMake(10, 35, 140, 160);
            [cell.contentView addSubview:thumbnailImageView];

        }
        id<PageDataSource> pd = [kbDataSource pageAtIndex:indexPath.row];

        UILabel *pageLabel = [cell viewWithTag:10];
        pageLabel.backgroundColor = [UIColor clearColor];
        pageLabel.text = [NSString stringWithFormat:@"Page %d",indexPath.row+1];
        pageLabel.textColor = [UIColor whiteColor];

        UIImageView *thumbnail = [cell viewWithTag:20];
        thumbnail.image = [pd thumbnailImageForPageNumber:indexPath.row+1];

        cell.selectionStyle = UITableViewCellSelectionStyleGray;
        cell.transform = CGAffineTransformMakeRotation(M_PI/2);
        return cell;
    }

Рамки работают просто отлично в первый раз.Но когда я поворачиваю устройство, изображения в tableView не отображаются.Я не знаю, в чем проблема ... Опять же, если я не изменяю кадр после поворота, он работает нормально, и все изображения отображаются ... Есть ли что-то, чего мне не хватает в tableView ???

1 Ответ

1 голос
/ 04 августа 2011

Звучит так, как будто ваше положение изображений отключено. Каковы x и y позиции изображений? Я думаю, что при вращении вы обнаружите, что ваши изображения находятся за пределами содержащей рамы, поэтому вы их не видите.

Однако вы говорите, что добавляете просмотр таблицы в просмотр прокрутки? ты не должен этого делать.

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