iOS如何在scrollview上添加阴影

时间:2012-07-25 14:25:06

标签: iphone uiscrollview shadow

在我的iOS应用中

我的应用程序包含scrollview,我想放一个阴影,我尝试了很多代码,但没有一个正在工作..

我以编程方式拍摄了scrollview

[self.view addsubview:scroll1];

想要使用滑块

在scrollview上设置阴影

所以如果有人知道然后回答它......

-(IBAction)slide3changed:(id)sender
{
    UISlider *slider=(UISlider*)sender;

    scroll1.layer.shadowColor = [UIColor blackColor].CGColor;
    scroll1.layer.shadowRadius = slider.value;
    scroll1.layer.shadowOpacity = slider.value;
}

4 个答案:

答案 0 :(得分:5)

您走在正确的轨道上,但您需要设置 masksToBounds

-(IBAction)slide3changed:(id)sender
{
    UISlider *slider=(UISlider*)sender;

    scroll1.layer.shadowColor = [UIColor blackColor].CGColor;
    scroll1.layer.shadowRadius = slider.value;
    scroll1.layer.shadowOpacity = slider.value;
    scroll1.layer.masksToBounds = NO; // This is important
}

答案 1 :(得分:2)

我相信你必须设置阴影以便阴影开始出现。

scroll1.layer.masksToBounds = NO; // this default
scroll1.layer.shadowColor = [[UIColor blackColor] CGColor];
scroll1.layer.shadowOpacity = slider.value;
scroll1.layer.shadowRadius = slider.value;
scroll1.layer.shadowOffset = CGSizeMake(0.0f, 0.0f);

答案 2 :(得分:0)

首先,你确定你的scrollView的外边缘在superView中是可见的吗?如果scrollView一直到superView的边缘,那么阴影将在屏幕外,因此不可见。

shadowOpacity是一个从0.0到1.0的浮点值,因此请确保您的滑块min和max分别设置为0.0和1.0。

另外,我认为你不想像你一样改变shadowRadius。你可以将这个属性单独留下,直到你开始工作。

您也可以尝试更改shadowOffset属性,以确保阴影指向您想要的方向。

答案 3 :(得分:0)

我想达到同样的效果,这里给定的解决方案对我不起作用。即,虽然嵌套在视图控制器(第35,80,250,447页)中,但使用分页的滚动视图无法正确呈现。我所做的是在简单的uiview中添加滚动视图并使用以下代码:

self.scrollViewContainer.layer.shadowColor = [UIColor blackColor].CGColor;
self.scrollViewContainer.layer.shadowOpacity = 0.2f;
self.scrollViewContainer.layer.shadowOffset = CGSizeMake(0, 20);
self.scrollViewContainer.layer.shadowRadius = 5;
self.scrollViewContainer.layer.masksToBounds = NO;