Objective c UIPopoverController的UIView:如何移除阴影?

Objective c UIPopoverController的UIView:如何移除阴影?,objective-c,uiview,ios6,xcode4.3,uipopovercontroller,Objective C,Uiview,Ios6,Xcode4.3,Uipopovercontroller,以下是我的popover的快照: 我有一个UIViewController,我想显示为popoverController。我还想定制popover,所以我要定制UIPopoOverBackgroundView,比如“b”-橙色背景。一切正常,除了在A.view和“b”四舍五入后,我有一条矩形阴影线,从快照上看,它可能属于A.view-绿色背景。基于UIView或UIViewController API,是否有任何方法可以移除该阴影。我只对删除视图左侧、顶部和右侧的黑线感兴趣,而不是模糊的阴影 我

以下是我的popover的快照:

我有一个UIViewController,我想显示为popoverController。我还想定制popover,所以我要定制UIPopoOverBackgroundView,比如“b”-橙色背景。一切正常,除了在A.view和“b”四舍五入后,我有一条矩形阴影线,从快照上看,它可能属于A.view-绿色背景。基于UIView或UIViewController API,是否有任何方法可以移除该阴影。我只对删除视图左侧、顶部和右侧的黑线感兴趣,而不是模糊的阴影

我确实试过:

[A.view.layer setShadowOpacity:0.0];

但是没有运气。

您无法直接控制UIPopoverController的阴影。你的选择是:

滚你自己的那种爆米花。 子类UIPopoOverBackgroundView,并为popover的框架提供您自己的图形。与官方文档相反,当您将UIPopoOverBackgroundView子类化时,阴影不会被绘制出来。下面是一篇关于如何做到这一点的好文章:
无法直接控制UIPopoverController的阴影。你的选择是:

滚你自己的那种爆米花。 子类UIPopoOverBackgroundView,并为popover的框架提供您自己的图形。与官方文档相反,当您将UIPopoOverBackgroundView子类化时,阴影不会被绘制出来。下面是一篇关于如何做到这一点的好文章:
在UIPopoOverBackgroundView子类中,重写类方法:

+ (BOOL)wantsDefaultContentAppearance

返回否。这将阻止绘制所记录的内部阴影。

在UIPopoOverBackgroundView子类中,重写类方法:

+ (BOOL)wantsDefaultContentAppearance

返回否。这将阻止绘制所记录的内部阴影。

在layoutSubviews方法中删除对[super layoutSubviews]的调用


覆盖wantsDefaultContentAppearance并返回NO对我不起作用。

在layoutSubviews方法中删除对[super layoutSubviews]的调用


重写wantsDefaultContentAppearance并返回NO对我来说不起作用。

我已经在对UIPopoOverBackgroundView类进行子类化,正如前面提到的那样。无论如何,谢谢你的回答。下面的jrturton回答有助于实现我的目标。谢谢。我已经在对UIPopoOverBackgroundView类进行子类化,正如前面提到的。无论如何,谢谢你的回答。下面的jrturton回答有助于实现我的目标。谢谢,谢谢。它确实消除了线的阴影,我明白我遗漏了什么。谢谢。它确实消除了线的阴影,我明白我遗漏了什么。