我有一個UIView,我想要陰影和圓角。 問題是 - 陰影需要masksToBounds = NO
,而圓角需要masksToBounds = YES
。UIView陰影和圓角
我找到的解決方案是有一個容器,它將有陰影,並添加我的UIView作爲容器的子視圖 - 並給它圓角。
This Works。我有陰影和圓角 - 但它不好。 陰影是矩形視圖,我的圖像有圓角。
我怎樣才能實現對圓角的影子?
我有一個UIView,我想要陰影和圓角。 問題是 - 陰影需要masksToBounds = NO
,而圓角需要masksToBounds = YES
。UIView陰影和圓角
我找到的解決方案是有一個容器,它將有陰影,並添加我的UIView作爲容器的子視圖 - 並給它圓角。
This Works。我有陰影和圓角 - 但它不好。 陰影是矩形視圖,我的圖像有圓角。
我怎樣才能實現對圓角的影子?
// border radius
[yourView.layer setCornerRadius:30.0f];
// border
[yourView.layer setBorderColor:[UIColor blackColor].CGColor];
[yourView.layer setBorderWidth:1.5f];
yourView.layer.masksToBounds=YES;
// drop shadow
[yourView.layer setShadowColor:[UIColor lightGrayColor].CGColor];
[yourView.layer setShadowOpacity:0.8];
[yourView.layer setShadowRadius:3.0];
[yourView.layer setShadowOffset:CGSizeMake(2.0, 2.0)];
這可能對你有幫助。
「masksToBounds」的價值應該是什麼?是或否? – YogevSitton
檢查我編輯的答案 – Iphonenew
是否需要邊框?我使用的代碼是 – YogevSitton
刪除容器,其剪裁你的視圖陰影。進口QuartzCore/QuartzCore.h
。並嘗試此代碼視圖
#import < QuartzCore/QuartzCore.h>
...
view.layer.cornerRadius = 5.0f;
[view.layer setShadowColor:[UIColor redColor].CGColor];
[view.layer setShadowOpacity:0.7];
[view.layer setShadowRadius:5.0];
[view.layer setShadowOffset:CGSizeMake(2.0, 2.0)];
更多地瞭解maskToBound看到此鏈接
容器是帶陰影的容器 - 它不能夾住陰影 – YogevSitton
@godmoney那麼,爲什麼你使用一個容器,如果你可以同時設置(陰影,角落)到你的主視圖層? – Yogendra
否 - 因爲陰影需要maskToBounds = NO並且需要圓角maskToBounds = YES。 – YogevSitton
請參閱此鏈接http://stackoverflow.com/questions/1509547/uiview-with-rounded -corners – Yogendra
我沒有應用圓角的問題。問題是,圓角和陰影看起來不太好...... – YogevSitton
使用掩蓋角落的圖像。它比任何編程解決方案都簡單得多,編碼速度更快,通常效果更好。 – Sulthan