在自定义 tableview 单元格中,我正在绘制一个带有阴影的简单矩形,如下所示:
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 上制作阴影的技巧,可以拉伸,而不会损失性能?