我希望借助我的iPad应用中的tableView来展示一种画廊类型的东西。 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中的图像不会显示。我不知道问题出在哪里..再次,如果我不改变旋转后的框架,它工作正常,所有的图像都显示出来...是我在表格中缺少的东西吗???
答案 0 :(得分:1)
听起来你的图像定位是关闭的。图像的x和y位置是什么?我想你在旋转时会发现你的图像在包含的视图框之外,因此你看不到它们。
但是,您是说要在滚动视图中添加tableview?你不应该这样做。