2013-01-05 98 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没有为我工作。