2013-04-24 44 views
0

爲什麼向任何圖層添加陰影太重?爲什麼向任何圖層添加陰影太重?使用QuartzCore

我試圖陰影添加到我UIView,它是唯一在此屏幕上很沉重。

爲什麼會這麼重?我發現的唯一解決方案是在PNG中添加陰影圖像來模擬,比使用QuartzCore創建陰影更輕。

請問有什麼解決打火機嗎?

+0

你是什麼意思重?我懷疑手機的質量。我認爲你的意思是昂貴的操作來畫出陰影。其原因在於所有圖層的漸變和合成,以便進行最終的屏幕顯示。 – John 2013-04-24 17:33:38

+0

是的,沉重我的意思是慢,但非常慢到UIView蠕變加載點。似乎是揹負着這個世界! hehehe有沒有解決方案?或PNG是解決方案「優雅」... rsrs – 2013-04-24 17:56:17

回答

2

使用下面的函數給影子任何控制一樣,按鈕,標籤,文本框或視圖只是控制傳遞給這個函數

- (void)setShadowOnView:(UIView)aView 
    { 
     CALayer *layer = aView.layer; 
     layer.masksToBounds = NO; 
     layer.shadowColor = [[UIColor blackColor] CGColor];//change is to set color of shadow 
     layer.shadowOpacity = 1.f;//change is to set alpha of shadow 
     layer.shadowOffset = CGSizeMake(-2.5f, 0.f);//change is to set size of shadow 
     layer.shadowRadius = 5.f;//change is to set radios of shadow 
     layer.shadowPath = [[UIBezierPath bezierPathWithRect:aView.bounds] CGPath]; 
    } 

嘗試,只要你喜歡設置屬性,並根據您的要求爲..

享受編碼.......

+0

這樣的工作!但爲什麼功能比「直接編碼」更好呢? – 2013-04-25 15:59:28

+0

我已經爲了可重用性的目的做了這個功能。如果你寫的直接代碼具有相同的值,那麼這也會給出相同的效果嘗試它..... – 2013-04-25 16:29:52

+0

如果我直接寫,比我會有我在這裏告訴的問題......但在功能沒有....非常有線!你知道爲什麼嗎 ? – 2013-04-25 17:53:38