2011-12-16 14 views
1

私のアプリケーションでは、iOSからイベントを受信しない単一のビューがあります。私は "BecomeFirstResponder"を呼び出そうとしましたが、これはうまくいかず、メソッドはfalseを返します。ここiOS/MonoTouch:最初のレスポンダになる

は、ビューを作成するコードである:入力処理するコード厥

_Window = new UIWindow(UIScreen.MainScreen.Bounds); 
View = new ApplicationView(this); 
_Window.RootViewController = new UIViewController(); 
_Window.Add(View); 
_Window.MakeKeyAndVisible(); 

(アプリケーションビューと、ベースクラスは、ベースクラスとしてのUIViewを有するiPhoneOSGameViewある):

public override void TouchesBegan(NSSet touches, UIEvent evt) 
{ 
    foreach (UITouch item in touches.ToArray<UITouch>()) 
    { 
     _Stage.MapTouchesBegan(new TouchEvent((Int32)item.Handle, item.LocationInView(this))); 
    } 
} 

メソッドは呼び出されません。事前に

おかげで

答えて

1

あなたのコードが間違って見えます。ルートに割り当てられたUIViewControllerは何もしません。また、私はあなたがwindow.AddSubview()を使用することを意味すると思う。上のコードはビルドされていますか? ビューが画面全体に表示されますか?それはフレームの中で触れるだけです。

モデルビューコントローラの概念(http://developer.apple.com/library/mac/ipad/#documentation/General/Conceptual/DevPedia-CocoaCore/MVC)の基本を見てみるとよいでしょう。 html)と、Monotouch(https://github.com/xamarin/monotouch-samples)でiOS開発を開始したサンプルもあります。

+0

ありがとうございます。ビューは画面全体に表示され、 "add"は "MonoGame"(http://monogame.codeplex.com/)のサンプルで使用されています。私はViewControllerがすべての入力を受け取ることが分かりました(私はビューにフォーカスすることができません)、問題自体が解決されない限り少しの回避策を講じました。 –

+0

ルートビューコントローラを設定しないでください。空のコントローラーを設定するのは無意味なIMHOです。 – Krumelur

+0

ええと、ルートビューコントローラーを設定しないと、iOSは私にそれをしなければならないというメッセージを出します。 –