2012-07-17 105 views
0

我正在尋找一個自定義UIView子類,它有一個「洞」,通過它可以看到它下面的視圖。我已經使用一些Core Graphics繪圖和裁剪來完成這個任務。好玩的東西。防止看到UIView陰影

我也喜歡這個視圖,叫做WheelDetailView,有一個陰影。很簡單。我已經做到了這一點的東西,如:

[[self layer] setShadowColor:[[UIColor blackColor] CGColor]]; 
[[self layer] setShadowRadius:4.0]; 
[[self layer] setShadowOpacity:1.0]; 
[[self layer] setShadowOffset:CGSizeMake(0, 2)]; 

的問題是,這種設置給了我,我已經在我的視圖中創建的「洞」內陰影。雖然我意識到這是非常有意義的,因爲你會希望在現實生活中看到陰影,所以我寧願只在我的視野周圍出現陰影。

這裏是它的現在出現:

Hole with auto-shadow

我輪匿名的有意模糊的一部分;你可以忽略這一點。

正如您所看到的那樣,陰影既存在於視圖之外,也存在於其中。有誰知道一個很好的方法來消除這種影響?

回答

0

將WheelView放在視圖上方有意義嗎?

或者你可以刪除該視圖的影子,並使用一個單獨的視圖與陰影,然後將它所有的意見

或者陰影的圖像背後,並把它所有的觀點背後

+0

我喜歡你在做什麼思考,但不幸的是,我不能那樣做。輪子本身就是一個'UIImageView',理論上它可以放在我的'WheelDetailView'之上,但這會導致一些問題。例如,向框架底部延伸的藍色光束必須保持在輪子上方,但在「WheelDetailView」下方。此外,'WheelDetailView'可以從屏幕外進行動畫處理,如果它在輪子下方動畫,看起來不太合適。 – ravron 2012-07-18 00:03:17

+0

所以我會爲影子使用圖片並將其放在所有視圖的後面。或者甚至爲整個WheelDetailsView創建一個包含洞和陰影的圖像。嘗試使用photoshop或任何其他圖形工具,它不應該是困難的,從我的經驗來看,它會更好(性能方面),然後用核心圖形繪製所有圖形。 – Eyal 2012-07-18 00:11:33

+0

您的解決方案*可以*工作,所以我會給您支票。不過,我希望有人提出一個CG解決方案。也許他們仍然會。感謝您的輸入! – ravron 2012-07-18 14:15:21