これは可能ですか?基本的には、私は自分のUIViewにサブビューを与え、そのサブビューをビューのレイヤーの前に(具体的には、レイヤーの境界の前に)置いておきたいと思います。CALayerの前にUIViewのサブビューを配置しますか?
もちろん、ビューのスーパービューの2つのサブビューを1つずつ作成することで、私が望む効果を得ることができました。しかし、私はむしろそれを避けたい。
これは可能ですか?基本的には、私は自分のUIViewにサブビューを与え、そのサブビューをビューのレイヤーの前に(具体的には、レイヤーの境界の前に)置いておきたいと思います。CALayerの前にUIViewのサブビューを配置しますか?
もちろん、ビューのスーパービューの2つのサブビューを1つずつ作成することで、私が望む効果を得ることができました。しかし、私はむしろそれを避けたい。
私はこれをしばらく見ました。私はそれが可能であるとは思わない。私はあなたのヒントとして、サブビューと親を同じ 'コンテナ'スーパービューに追加することで、この問題を解決しました。次に、2つのサブビューを並べ替えるだけで、サブビューが他のサブビューよりも上になるようにします。
私はsourceViewControllerをdestinationViewControllerの前に置く必要があったsegueアニメーションでこれを解決しました。私はそれを再ネストするためにsourceViewControllerを削除しなければならなかった。私のコードは次のようになります:
- (void) perform {
UIViewController *sourceViewController = (UIViewController *) self.sourceViewController;
UIViewController *destinationViewController = (UIViewController *) self.destinationViewController;
UIView *parent = sourceViewController.view.superview;
[sourceViewController.view removeFromSuperview];
[parent addSubview: destinationViewController.view];
[parent addSubview:sourceViewController.view];
// Perform animation stuffs...
}