2012-12-05 84 views
1

所以,这是我的看法:的UITableView不会滚动

enter image description here

,这是我的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; 
} 

这是结果:

enter image description here

问题是,UItableView不滚动。决不。我真的不知道为什么... 有人可以帮助我吗?

+0

您在结果中显示的标题图像(时钟),您如何实现该功能?它覆盖了桌面视图吗? – mkral

+0

我以编程方式实现,不,它不覆盖tableView。 –

+0

那么如果你确定你编写的头文件UIView的框架没有比预期的大,并且覆盖了tableview,那么肯定还有别的东西在进行。你有没有做过任何改变,你认为可能是问题? tableview是scrollview的一个子类,所以它应该可以工作。 – mkral

回答

4

我见过类似的事情,在每一次我已经看到了这个问题,这是因为一些人认为是捕捉触摸。

明确地说,请检查您的视图层次结构,以查看视图是否与您的tableView重叠(即使是alpha值为0.05的视图也可以识别并摘要触摸)。

我建议你采取控制器的根视图,并递归调用视图层次结构来NSLog图像的大小。

你也可以用你的tableView这样做:

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

如果你的tableview被滚动时的其他每一件事面前,你会知道舒尔一些观点是捕获表视图之前触摸。

+0

我没有注意到在顶部的视图(允许你做一个水平滚动)真的非常棒,我调整了视图的大小,添加了tableView,现在一切正常! –

1

我试图达到类似的结果,它适用于我。 尝试检查你的选择

UITableViewOptions

+0

它不工作:( –

+0

我只是试图达到相同的结果和我的tableview卷轴。你有没有改变任何默认选项? –

3

试着说self.tableView.userInteractionEnabled = YES;你实现时钟视图后。

如果这不起作用,尝试[self.view bringSubviewToFront:self.tableView];