2

だから、これは私の見解です:

ここに画像の説明を入力

これは私の UItableViewDelegate と DataSource です

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 20;
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"course"];
    cell.textLabel.text = [NSString stringWithFormat:@"%i" ,arc4random() % 10];
    cell.detailTextLabel.text = [NSString stringWithFormat:@"%i" ,arc4random() % 10];
    return cell;
}

そして、これは結果です:

ここに画像の説明を入力

問題は、UItableView がスクロールしないことです。一度もない。私は本当に理由を理解することはできません.誰かが私を助けることができます?

4

3 に答える 3

6

私は似たようなことを見たことがあり、この動作を見るたびに、いくつかのビューがタッチをキャプチャしていたことが原因でした.

明確に、ビュー階層をチェックして、ビューが tableView と重なっているかどうかを確認します (アルファが 0.05 のビューでも、タッチを認識してダイジェストできます)。

コントローラーのルートビューを取得し、ビュー Hierarchy を再帰的に呼び出して、画像のサイズを NSLog にすることをお勧めします。

tableView でこれを行うこともできます:

- (void)bringSubviewToFront:(UIView *)view
[self.view bringSubviewToFront:self.tableView];

テーブルビューが他のすべてのものの前にあるときにスクロールしている場合、いくつかのビューがテーブルビューの前にタッチをキャプチャしていることがわかります。

于 2012-12-06T00:48:19.177 に答える
3

私は同様の結果を達成しようとしましたが、それは私にとってはうまくいきます。オプションを確認してみてください

UITableViewOptions

于 2012-12-05T22:16:05.070 に答える
3

self.tableView.userInteractionEnabled = YES;時計ビューを実装してから言ってみてください。

これがうまくいかない場合は、試してください[self.view bringSubviewToFront:self.tableView];

于 2012-12-05T22:37:43.377 に答える