2012-07-25 65 views
0

在我的iOS應用的iOS如何把陰影滾動型

我的應用程序包含滾動視圖,我想提出一個影子,我已經試過很多代碼,但他們都不工作..

我有programatically taken scrollview

[self.view addsubview:scroll1];

想用滑塊

所以要設置滾動型的影子,如果有人知道,然後回答吧....

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

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

回答

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

,當我把masktobounds =沒有那麼在滾動視圖圖像的尺寸增加.. – user1268597 2012-07-26 04:29:53

+0

當我在滾動視圖添加ImageView的... 。然後我添加scrollview在view1之後,我添加到主視圖...然後我提供視圖上的陰影,但問題是,它的陰影也適用於圖像,但我想只應用陰影只有視圖.... ..儘快回覆.... – user1268597 2012-07-27 06:27:48

0

首先,你確定你的滾動視圖的外邊緣可見裏面的上海華?如果scrollView一直走到superView的邊緣,那麼陰影將離屏,因此不可見。

shadowOpacity是從0.0到1.0的浮點值,因此請確保滑塊最小值和最大值分別設置爲0.0和1.0。

另外,我不認爲你想要像你一樣改變shadowRadius。你可以直接離開這個屬性,直到你得到這個工作。

您還可以嘗試更改shadowOffset屬性以確保陰影指向所需的方向。

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); 
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;