2013-01-05 136 views
1

以下是我酥料餅的快照:UIPopoverController的UIView:如何去除陰影?

enter image description here

我有一個UIViewController(說),我想顯示爲popoverController。另外我想定製popover,所以我定製了UIPopoverBackgroundView(比如'b' - 橙色背景)。除了在A.view和'b'的角落四捨五入之後,所有東西都正常工作,我有一個矩形陰影線(從快照可能屬於A.view - 綠色背景)。基於UIViewUIViewController API,有什麼方法可以刪除該陰影。我只想去除視圖左側,頂部和右側的黑線,而不是模糊的陰影。

我曾嘗試:

[A.view.layer setShadowOpacity:0.0]; 

,但沒有運氣。

回答

3

在你UIPopoverBackgroundView子類,覆蓋類方法:

+ (BOOL)wantsDefaultContentAppearance 

返回NO。這防止瞭如記錄的here所描繪的內部陰影。

+0

謝謝。它確實刪除了這個線條陰影,並且我明白了我缺少的東西。 – shaffooo

2

您無法直接控制UIPopoverController的陰影。你的選擇是:

  1. 滾動你自己的popover。
  2. 子類UIPopoverBackgroundView並提供您自己的圖形框架的popover。與官方文件相反,當您將子類UIPopoverBackgroundView歸類時,您的陰影不會被吸引。下面是關於如何做到這一個偉大的職位:http://blog.andrewkolesnikov.com/custom-background-color-tint-for-uipopover-64835
+0

我已經如問題中提到的那樣繼承UIPopoverBackgroundView類。無論如何感謝您的回答。下面的jrturton答案有助於獲得我想要的東西。謝謝。 – shaffooo

1

刪除layoutSubviews方法中[super layoutSubviews]的調用。

壓倒一切的願望DefaultContentAppearance和返回NO沒有爲我工作。