カスタム テーブルビュー セルで、次のような影のある単純な四角形を描画しています。
photoBorder = [[[UIView alloc] initWithFrame:CGRectMake(4, 4, self.frame.size.width-8, 190)] autorelease];
photoBorder.autoresizingMask = UIViewAutoresizingFlexibleWidth;
photoBorder.backgroundColor = [UIColor whiteColor];
photoBorder.layer.masksToBounds = NO;
photoBorder.layer.shadowOffset = CGSizeMake(0, 1);
photoBorder.layer.shadowRadius = 4;
photoBorder.layer.shadowOpacity = 1.0;
photoBorder.layer.shadowColor = [UIColor darkGrayColor].CGColor;
photoBorder.layer.shouldRasterize = YES;
photoBorder.layer.shadowPath = [UIBezierPath bezierPathWithRect:photoBorder.bounds].CGPath; // this line seems to be causing the problem
これは、ビューが最初に読み込まれたときに正常に機能します。ただし、デバイスを回転させても、影は同じサイズのままです。「photoBorder」の新しい幅まで伸ばしてほしいです。
shadowPath を削除することで動作させることができますが、tableview のパフォーマンスが大幅に低下します。
UIView で、パフォーマンスを損なうことなく引き伸ばすことができる影を作成するためのヒントはありますか?