2012-02-23 16 views
2

私はUIViewのサブクラスを持っています。私はタッチイベントを検出するたびに新しいUI-Viewを表示する必要があります。UIViewサブクラス、タッチイベント

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event; 

私の問題は、私はフルスクリーンビューを表示する方法がわからないということです。

は、私は、次のメソッドをオーバーライドする必要があることを知っています。

私は次のことを試してみました:

CGRect screenSize = [[UIScreen mainScreen] bounds]; 
UIView *mysubview = [[UIView alloc] initWithFrame : screenSize]; 
[self.window addSubview:mysubview]; 

しかし、私はそれはそれを行うための正しい方法であるかはわかりません。

誰でも私に助言を与えることができますか?

答えて

0

この場合、私はmySubView.frame = self.view.frameを使用します。

0

ビューをウィンドウに追加するのではなく、ビューのサブビューとして追加するだけでいいですか?

UIView *mySubview = [[UIView alloc] initWithFrame:self.bounds]; 
[self addSubview:mySubview]; 

明確化した後には、カスタムビューは、ボタンのようなものであるように思われる、とあなたは新しいビューは、階層内のどこかにフルスクリーン表示になりたいです。これは実際には、新しいビューを配置する場所を知っているUIViewControllerの仕事です。独自のタッチ操作コードを実装する代わりにUITapGestureRecognizerをカスタムビューで使用し、UIViewControllerをフルスクリーン表示をターゲットとして使用することができます。ジェスチャ認識ツールのアクションメソッドでは、新しいビューを作成し、それをUIViewController階層のサブビューとして追加することができます。

+0

タッチイベントをリッスンしているビューはフルスクリーン表示ではないため、高さが100pxで画面の下部に位置するため –