5

iOS 6 で、マスター ビューの上に表示したい UISplitViewController の詳細ビューに影を設定しようとしています。

私の詳細ViewControllerでは:

 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;

ただし、SplitVC は、上記のコードで NO に設定した場合でも、サブビューを自動的にクリップし、影はありません。

誰でもこれを達成する正しい方法を教えてもらえますか?

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 に答える