![](/img/trans.png)
[英]IOS: How to make a shadow for UIView on 4 side (top,right,bottom and left)
[英]Drop a shadow to right and bottom of uiview
我必須在uiview的右邊和底部放一個陰影。我正在界面生成器中執行此操作,但是我看到陰影降到了它的頂部。嘗試了不同的大小,但無法獲得它。
layer.masksToBound=No
layer.shadowOpacity=0.15
layer.shadowRadius=2
layer.shadowOffSet={10,-10} //Values being set in Interfacebuilder.
這仍然在頂部留下了陰影。我應該怎么做才能獲得底部的視圖。
嘗試以下代碼,可能會對您有所幫助
myView.layer.shadowColor = [UIColor purpleColor].CGColor;
myView.layer.shadowOffset = CGSizeMake(5, 5);
myView.layer.shadowOpacity = 1;
myView.layer.shadowRadius = 1.0;
myView.layer.maskToBounds = NO;
我測試了這段代碼,它的工作原理是:
嗨,我用下面的代碼,它將為您提供所需的陰影。
UIBezierPath *shadowPath = [UIBezierPath bezierPathWithRect:_viewShadow.bounds];
_viewShadow.layer.masksToBounds = NO;
_viewShadow.layer.shadowColor = [UIColor blackColor].CGColor;
_viewShadow.layer.shadowOffset = CGSizeMake(10.0f, 5.0f); /*Change value of X n Y as per your need of shadow to appear to like right bottom or left bottom or so on*/
_viewShadow.layer.shadowOpacity = 0.5f;
_viewShadow.layer.shadowPath = shadowPath.CGPath;
masksToBounds也是imp的,因為它禁用了超出視圖范圍的子層的裁剪。 如果將其設置為“是”,那么您將看不到陰影,因為它會將子圖層剪切到其他位置,否則以“否”的方式擴展圖層。
在Swift 3中 , CGSizeMake
不再存在。 它已更改為CGSize(width: 20, height: 10)
。 因此可以在Swift 3中像這樣設置shadowOffset
:
myView.layer.shadowOffset = CGSize(width: 20, height: 10)
我認為您的陰影偏移量不正確。 應該是{10,10}像:
[layer setShadowOffset:CGSizeMake( 10 , 10 ) ];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.