5

我试图在我的 UISplitViewController 的详细视图上设置一个阴影,我希望在 iOS 6 中的主视图上可见。

在我的详细视图控制器中:

 self.view.layer.shadowColor = [[UIColor blackColor] CGColor];
 self.view.layer.shadowOffset = CGSizeMake(-3.0f, 0.0f);
 self.view.layer.shadowRadius = 3.0f;
 self.view.layer.shadowOpacity = 1.0f;
 self.view.layer.masksToBounds = NO;
 self.view.clipsToBounds = NO;

但是,即使我在上面的代码中将其设置为 NO,SplitVC 也会自动裁剪其子视图,并且没有阴影。

谁能让我知道实现这一目标的正确方法?

4

2 回答 2

1

我发现做到这一点的最好方法是向主视图控制器添加一个 1px 视图并将其对齐到右边缘,然后将阴影应用到该视图。

于 2015-10-07T22:03:39.887 回答
0

似乎在层次结构下方的某个超级视图正在执行剪辑。

尝试这个:

UIView *v = self.view;
do
{
    v.clipsToBounds = NO;
    v = v.superview;
}
while(v != nil);

请注意,这将对层次结构中的所有视图进行剪辑!- 这可能比您要求的要多:-)。

于 2013-03-26T19:20:46.040 回答