Я создал UITableView программно, используя следующий кодUITableView, содержимое UITableViewCell исчезают при вращении устройства
[self createUITableView:categoryTableView
frame:CGRectMake(0, [UIApplication currentSize].height - ([UIApplication currentSize].height*0.2) - self.navigationController.navigationBar.frame.size.height - 20, [UIApplication currentSize].width,[UIApplication currentSize].height * 0.2)
tag:1
rotation:CGAffineTransformMakeRotation(-M_PI_2)];
-(void)createUITableView :(UITableView*)tableView frame:(CGRect)frame tag:(NSInteger)tag rotation:(CGAffineTransform)rotation
{
tableView = [[UITableView alloc]init];
tableView.transform = rotation;
tableView.frame = frame;
tableView.dataSource = self;
tableView.delegate = self;
tableView.backgroundColor = [UIColor greenColor];
tableView.tag = tag;
tableView.showsHorizontalScrollIndicator = false;
tableView.showsVerticalScrollIndicator = false;
tableView.bounces = false;
[self.view addSubview:tableView];
}
После поворота Tableview я затем будет вращать ячейку для содержимого, которое будет отображаться правильный путь
cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:MyIdentifier];
cell.transform = CGAffineTransformMakeRotation(M_PI_2);
cellImage = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, widthforTableView,tableView.frame.size.height)];
[cell.contentView addSubview:cellImage];
cell.layer.borderColor = [UIColor lightGrayColor].CGColor;
cell.layer.borderWidth = 0.5f;
//cell.textLabel.textAlignment = NSTextAlignmentCenter;
cellImage.backgroundColor = [UIColor blueColor];
}
, когда я повернуть устройство я изменить размер UITableView и изменить положение, чтобы соответствовать красиво на экране, я также изменить размер высоты TableView строки и вызвать Tableview reloadData
однако из-за изменения размера таблицы я обнаружил, что содержимое ячеек таблицы исчезло.
cell.textlabel исчезает, а также добавляются любые другие пользовательские представления.
, похоже, влияет только на просмотр таблицы, когда ячейки вращаются с использованием MPI ???
поэтому мой вопрос: -
Как один предотвратить содержимое ячеек от исчезновения при изменении размера/поворота, содержащий TableView?
Спасибо stefan за ваш ответ, я попробовал cell.transform = CGAffineTransformMakeRotation (M_PI_2); cell.contentView.frame = cell.bounds; cell.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; но по-прежнему имеют ту же проблему – Tom
Ой, подождите, вы вручную преобразуете все элементы интерфейса при изменении ориентации устройства? – nstefan
no Я вручную преобразовываю ячейки и uitableview для создания горизонтального представления таблицы. я нашел путем подклассификации ячейки и вручную преобразование меток и т. д., казалось, исправить проблему – Tom