簡體   English   中英

在uiview的右側和底部放置陰影

[英]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)

我發現這些值給出了一個不錯的結果:

myView.layer.shadowColor = UIColor.black.cgColor
myView.layer.shadowOpacity = 0.25
myView.layer.shadowRadius = 3
myView.layer.shadowOffset = CGSize(width: 1, height: 1) // shadow on the bottom right

在此處輸入圖片說明

我認為您的陰影偏移量不正確。 應該是{10,10}像:

[layer setShadowOffset:CGSizeMake( 10 , 10 ) ];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM