围绕UITableView的一部分阴影

时间:2012-11-15 10:16:16

标签: iphone objective-c ios uitableview shadow

我有UITableView有4个部分。现在我想为表的特定部分添加阴影效果,但不是全表。我怎样才能完成这项任务?

4 个答案:

答案 0 :(得分:0)

您必须更改部分页眉和页脚以及该部分的所有单元格。

使用tableView:viewForFooterInSection:tableView:viewForHeaderInSection:tableView:cellForRowAtIndexPath:。只需添加一个带有rgba 0/0/0 / 0.2的UIView或类似于你想要变暗的每个视图。

答案 1 :(得分:0)

您可以添加带阴影的图像作为UITableViewCell的背景。阴影应该在图像中绘制。它非常简单,您的应用程序运行得更快。

答案 2 :(得分:0)

您可以为所需的部分指定阴影。 这是一个样本。

首先,我们为您的标题提供了一些空间

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    if(section == mysection)
    {
        // Returns the height you want for the header section. I am giving 20
        return 20; 
    }
}

然后是标题的装饰

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    if(section == mysection)
    {
        UIView *shadowView  =  [[[UIView alloc] initWithFrame: CGRectMake(0,0,320,20)] autorelease];
        shadowView.backgroundColor = [UIColor whiteColor];

        // Doing the Decoration Part
        shadowView.layer.shadowColor = [[UIColor blackColor] CGColor];
        shadowView.layer.shadowOffset = CGSizeMake(1.0f, 1.0f);
        shadowView.layer.shadowRadius = 3.0f;
        shadowView.layer.shadowOpacity = 1.0f;

        return shadowView;
    }
    return nil;
}

在你身边完成它。这是一个基本的大纲。快乐编码:)

答案 3 :(得分:-1)

试试这个

yourView.layer.shadowColor = [[UIColor blackColor] CGColor];
yourView.layer.shadowOffset = CGSizeMake(1.0f, 1.0f);
yourView.layer.shadowRadius = 3.0f;
yourView.layer.shadowOpacity = 1.0f; 

您需要将“yourView”替换为其他任何内容

不要忘记你还需要导入QuartzCore / CALayer.h