在iPhone附带的时钟应用程序中,有一个用于设置报警的选项卡视图。在这个视图中,每个UITableViewCell实例都有一个阴影。有谁知道如何达到相同的效果?在iPhone时钟应用程序“报警”选项卡上拖放阴影
此外,它看起来像在最底部的标签栏上面也有一个阴影。
想法如何实现相同的外观将不胜感激。
在iPhone附带的时钟应用程序中,有一个用于设置报警的选项卡视图。在这个视图中,每个UITableViewCell实例都有一个阴影。有谁知道如何达到相同的效果?在iPhone时钟应用程序“报警”选项卡上拖放阴影
此外,它看起来像在最底部的标签栏上面也有一个阴影。
想法如何实现相同的外观将不胜感激。
我不知道该怎么做,它只是发生在我使用的UITableView的页脚视图:
myTableView.tableFooterView = myCustomViewWithDropShadowImage;
我猜想有一个额外的单元格,其中只包含背景图像,这是透明的阴影。如果它不是一个单元格(因为这可能会产生滚动奇怪),它可能是一个额外的视图,它位于UITableview的底部单元格下方,它又是一个简单的包含投影阴影的图像。
像托马斯说,创建一个100%的宽度图像(比如,320×40像素的非视网膜设备),并用它创建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];
,并可能为您的主视图的背景颜色一些黑乎乎的灰。
嗯...我不认为额外的细胞理论会起作用,但细胞下面的额外视图肯定是一种可能性。我明天会试试看 – afarnham 2009-06-06 03:58:05