1

私のiPhoneアプリケーションでは、.xibファイルからビューをロードします。.xibには、次のような構造があります。UITableとUIViewを含むUIControlタイプのメインビューです。問題は、UIControlがタッチを受信せず、イベントタッチダウンのメソッドが呼び出されないことです。この問題を解決するにはどうすればよいですか?

.hファイルにdeclareメソッドがあります

- (IBAction)backgroundTap:(id)sender; そして.mで私はこのメソッドを実装します:

- (IBAction)backgroundTap:(id)sender
{
    [passwordTextField resignFirstResponder];
    [usernameTextField resignFirstResponder];
}

また、メインビューのUIControlからのtouchdowmイベントでファイルの所有者からのbackgroundTapイベントをバインドします

アップデート

実際の理由は、クリックすると常にUiTable要素をクリックするため、イベントに到達しないためです。この問題をどのように解決できますか?タッチダウンイベントをテーブルからUIControlに送信できますか?

4

4 に答える 4

0

これを試すことができます:

yourControl.userInteractionEnabled = TRUE;

これがお役に立てば幸いです。

于 2013-03-07T12:24:29.767 に答える
0

画面全体をカバーするコントロールをサブクラス化します。

touchesBegan:withEvent:タッチをコントロールにリダイレクトするメソッドをオーバーライドします。

于 2013-03-07T22:07:52.343 に答える
0

あなたの説明から、あなたの xib ルート ビューは UIControl のように聞こえますか? IB は UI を介してそれを許可しません。最初の UIView から手動でクラスを変更しましたか? 同様に、IB では、サブビューを UIControl オブジェクトに追加することはできません。したがって、xib 構造を明確に知らなくても、UIView ルートから始めて、UITableView および UIControl オブジェクトを UIView 内に追加し、UIControl 内の UITableView ではないように思えます。

于 2013-03-07T21:59:50.733 に答える
0

メソッドコントロールを確認してください。内部で修正されていないと思うので、内部で修正してみてください。

于 2013-03-07T12:35:24.157 に答える