私はフォローを使用して、私が望むものを作成することができました。
最初の 3 つの UITableViewCells をサブクラス化し、画像のサイズを考慮してフレーム サイズを設定しました。
- (void)setFrame:(CGRect)frame {
float cellWidth = (frame.size.width - 345);
frame.size.width = cellWidth;
[super setFrame:frame];
}
次に、UITableViewController の viewDidLoad で、テーブルビューの最初の静的セルを IBOutlet (「firstCell」) として使用して、UIImageView を作成して配置します。次に、回転を整理する autoResizingMask を設定し、最後に UIImageView をビューに追加します。
//Create and position the image view
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake((firstCell.frame.size.width), (firstCell.frame.origin.y + 70), 300, 137)];
// Add border and round corners of image view to make style look a little like tableviewcells
[imageView.layer setBorderColor:[UIColor colorWithWhite:0 alpha:0.5].CGColor];
[imageView.layer setBorderWidth:2.0];
[imageView.layer setCornerRadius:5.0];
[imageView setClipsToBounds:YES];
//Set the image in the image view
UIImage *image = [UIImage imageNamed:@"defaultPicture.png"];
imageView.image = image;
//Set resizing of image view for when view is rotated
imageView.contentMode = UIViewContentModeRedraw;
imageView.autoresizingMask = UIViewContentModeScaleAspectFit;
//Add tap gesture for imageview to initiate taking picture.
imageView.userInteractionEnabled = YES;
UITapGestureRecognizer *imageViewTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(takePicture:)];
[imageView addGestureRecognizer:imageViewTap];
//Add image view to view
[self.view addSubview:imageView];
これは完全にはテストされておらず、優れた実装ではないと確信していますが、私が求めている効果の出発点です。良い方法をご存知でしたら回答お願いします。
注: 上記のコードは iPad 上の私のアプリ用に書かれていますが、スクリーンショットは iPhone で行ったテストからのものです