アプリにかなり複雑なViewController階層があります。現在、ボタンをタップするだけで全画面表示したいビューがあります。問題は、このビューが画面の一部のみを占めるView Controllerのビュー内にあるため、フレームをアプリケーションウィンドウのサイズに単純に設定できないことです。また、ビューをモーダルに表示することもできません。これは、UIの他の部分に干渉するためです。
私が何を意味するかを説明するのを助けるために:
UIViewController // root view controller
--> UIViewController
--> UIViewController
--> UIViewController
--> UIViewController
--> Controller's View <----- // this one
--> UIViewController
上に示したビューを作成する必要があります。これは、フルスクリーンに展開するためにビューコントローラー内にすでに表示されているものです。
これにアプローチするための最良の方法のアイデアはありますか?
私はいくつかの同様のことをしていますが、これが役立つことを願っています。フルスクリーンビデオをサポートするビデオプレーヤーがあります。
このコードを参照してください。これは私のコードの一部であり、私がどのように行ったかを示すためにいくつかの変更を加えたものであるため、変更を加える必要があります。
UIView *rootView = [[[[[UIApplication sharedApplication] delegate] window] rootViewController] view];
CGRect rect = [myView convertRect: myView.frame toView:rootView];
UIView *interactionView = [[UIView alloc] initWithFrame:rect];
interactionView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin;
[interactionView.layer insertSublayer:myView.layer below:otherView.layer ];// i am using otherView u can use if any or use addSublayer otherwise
myView.layer.frame = rootView.bounds;
interactionView.frame = rootView.bounds;
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加