簡體   English   中英

如何繪制超出UIView范圍的陰影?

[英]How can I draw a shadow beyond a UIView's bounds?

我正在使用如何在UIView下繪制陰影中描述的方法 在視圖內容后面繪制陰影。 盡管我在界面生成器中為視圖禁用了“剪輯子視圖”,但陰影仍被裁剪到視圖的邊界。 是否可以視圖周圍(不僅視圖中)繪制陰影?

我不想在視圖內部繪制陰影,因為該視圖會收到陰影區域的觸摸事件,而陰影區域實際上屬於背景。

可以考慮在UIView的“核心動畫”層上設置屬性以繪制陰影,而不是在drawRect中手動繪制。

例如:

[descriptionInput setClipsToBounds:NO];
[descriptionInput.layer setShadowColor:[[UIColor blackColor] CGColor]];
[descriptionInput.layer setShadowOpacity:0.8];
[descriptionInput.layer setShadowOffset:CGSizeMake(0.0, 3.0)];

為此,您需要包括QuartzCore:

#import <QuartzCore/QuartzCore.h>

clipsToBounds僅控制視圖子級的裁剪, 而不控制視圖本身的繪制; 因此,這並不能解決您的問題。

如果您可以將陰影繪制到其他視圖上並將其添加為子視圖,則不會被剪切。 但是,我不知道您使用的方法(:(

不鼓勵划定視野范圍。 也許您可以直接在背景中包含陰影...

問候,

暫無
暫無

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

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