iPhone时钟应用程序“闹钟”选项卡上的投影效果

3
在iPhone自带的时钟应用程序中,有一个选项卡视图用于设置闹钟。在该视图中,每个UITableViewCell实例周围都有一个投影效果。有人知道如何实现相同的效果吗?
此外,底部的选项卡栏上方似乎也有一个投影效果。
欢迎提供实现相同外观的想法。
3个回答

2
我在想如何实现这个功能,突然想到可以使用UITableView的页脚视图:
myTableView.tableFooterView = myCustomViewWithDropShadowImage;

0

像Thomas所说,创建一个100%宽度的图像(例如在非Retina设备上为320 x 40px),并创建4个UIImageView实例。第一个位于主视图的顶部。第二个位于底部,并且此外还要执行以下操作:

UIImageView* bottomShadow = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"BottmShadow.png"]] 
bottomShadow.transform = CGAffineTransformMakeScale(1, -1);

(垂直翻转)

然后,对另外两个视图执行相同的操作,但将它们作为表格视图的子视图放置。其中一个刚好在第一行之外:

CGRect tableTopShadowFrame = tableTopShadow.frame;
tableTopShadowFrame.origin.y = -(tableTopShadowFrame.size.height);
[tableTopShadow setFrame:tableTopShadowFrame];

另一个位于最后一行下方(您需要知道所有行的高度。如果您的所有行高度相同,则为行高乘以行数)。

最后,您需要将表格的backgroundColor属性设置为透明。

tableView.backgroundColor = [UIColor clearColor];

并且可能为您的主视图背景颜色设置一些深灰色。


0
我猜测可能有一个额外的单元格,其中只包含一个背景图像,即透明的阴影。如果不是单元格(因为这可能会导致滚动问题),那么它可能是位于UITableview底部单元格下方的额外视图,该视图仅包含一个投影图像。

嗯...我不认为额外的单元格理论会起作用,但是在单元格下面添加额外的视图肯定是一个可能性。明天我会试一下。 - Aaron

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接