0

UIview内にUIScrollViewを追加し、スクロールビューにボタンを1つ追加しました。そのボタンを押すと、uiscrollview内にテーブルが生成されます.今私の問題は、ユーザーがスクロールビュー内のどこかに触れたときにそのテーブルを削除したいことです.I touches begin メソッドを使用してみましたが、スクロール ビューでは機能しません。

前もって感謝します

4

2 に答える 2

0

ユーザーがボタンをタップすると、スクロール ビューはタッチを受け取りません。代わりに、次のようなメソッドを作成し、ボタンのターゲットとして追加します。

- (void)hideTable {
    [yourTableView setHidden:YES];
}

ボタンを作成するとき、またはviewDidLoadnib から読み込まれる場合は、メソッドをボタンのターゲットとして追加します。

[yourButton addTarget:self action:@selector(hideTable) 
    forControlEvents:UIControlEventTouchUpInside];
于 2012-11-27T17:15:02.567 に答える
0

touchesBeganサブクラス化しない限り、メソッドは機能しません。

UITapGestureRecognizerあなたのためのソリューションです。次のように使用できます。

...

UITapGestureRecognizer *tapRecognizer=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTapScrollView)];
[scrollView addRecognizer:tapRecognizer];
[tapRecognizer release];  //If not ARC

-(void)didTapScrollView
{
    [tableView removeFromSuperview];
}
于 2012-11-27T21:05:45.180 に答える