我已经用代码创建了一个tableview,如下所示:
_myTableView = [[UITableView alloc] initWithFrame:
CGRectMake(160, 80, 140, 100) style:UITableViewStylePlain];
_myTableView.delegate = self;
_myTableView.dataSource = self;
_myTableView.scrollEnabled = YES;
[self.view addSubview:_myTableView];
-(void) changeTVHeight: (float) height {
//height calculated from number of items in array returned.
CGRect newFrame = CGRectMake(120, 80, 180, height);
self.myTableView.frame = newFrame;
}
如果没有那么多结果,这对于缩小tableview非常有用。
但是,如果有很多结果,tableview将在屏幕或键盘的可见部分下面展开。在这种情况下,我希望能够滚动Tableview来查看较低的行。
scrollEnabled
设置为
YES
.
但是当它允许一个人滚动一点时,滚动是被抵抗的,所以通过努力你可以滚动一点,但是由于
rubber band effect
你不能在屏幕下面超过几行,也不能点击下面几行。
我在故事板中使用autolayout来处理大部分屏幕。整个屏幕滚动起来很好,但这只会上下移动锚定在屏幕上的tableview。此表视图没有任何约束,但它是作为视图的子视图添加的。
我的问题是如何使tableview可以滚动,以便它可以无阻力地滚动?
提前谢谢你的建议。
编辑
:
我尝试将tableView添加到self.scrollView而不是self.view。这将tableView锚定到scrollview,因此可以向下滚动整个屏幕并查看tableView的底部。但是,这并不理想,因为屏幕的其余部分是空的,并且您看不到tableview的上下文。(这是屏幕顶部文本字段的自动完成。)
相反,当tableview添加到self.view时,它在正确的位置,它会半滚动或反弹。它只是没有向下滚动到我需要它滚动的地方。