2012-08-08 101 views
3

我給CALayer添加了陰影,但是我希望這個陰影只能在視圖的左側和右側。有誰知道這是否可能?左右側的陰影

目前,我加入陰影這樣的:

view.layer.shadowColor = [UIColor blackColor].CGColor; 
view.layer.shadowOffset = CGSizeMake(0.0f, 0.0f); 
view.layer.shadowOpacity = 1.0f; 
view.layer.shadowRadius = 4.0f; 
view.layer.shadowPath = [UIBezierPath bezierPathWithRect:view.bounds].CGPath; 
+0

// Left Shadow view.layer.shadowOffset = CGSizeMake( - 1.0f,0.0f); //右影 view.layer.shadowOffset = CGSizeMake(1.0f,0.0f); – Bala 2012-08-08 15:51:03

回答

0

您設置陰影路徑視圖的邊界。嘗試獲得該矩形,並使用CGRectInset(具有負x值和0 y值)進行擴展。這會給你一個影子路徑,擴展到圖層的左側和右側。您可能需要修補半徑或稍微插入y值以防止陰影出現在上方和下方。

+0

我將不得不將框架設置爲如下所示,以隱藏頂部和底部框架。與此有關的問題是左右陰影也會變小(不會太高)。 'CGRect shadowFrame = CGRectInset(view.bounds,-1.0f,7.0f);' – simonbs 2012-08-12 08:40:29

+0

正如我所說的,你也可能需要修改半徑。如果它沒有給你以後的效果,我認爲你必須手動設置一個剪切路徑來繪製陰影。 – jrturton 2012-08-12 10:20:37

相關問題