-1

我对 UITableView 垂直滚动有一个令人沮丧的问题。我有一个(显然)功能正常的 UITableView(表格行正确显示,我可以选择行并执行正确的操作等)。

但是,我无法完全滚动到视图的底部。我意识到这个问题已经被问过很多次,并且我试图实施之前答案中给出的建议,但无济于事。我怀疑我存在根本性的误解。

我意识到框架大小需要大于 contentSize 才能使 tableView 正确滚动,并且我已尝试确保这一点。请注意,我刚刚选择了一个小的水平 contentSize 用于调试目的。我敢肯定这很简单......

这是一个代码片段,显示了我在做什么。

   self.testTable= [[UITableView alloc] initWithFrame:self.view.frame 
style:UITableViewStyleGrouped];

    self.testTable.delegate=self;
    self.testTable.dataSource=self;
    self.view = self.testTable;
    NSLog(@"table: Width: %f  height %f ",self.testTable.contentSize.width,self.testTable.contentSize.height);
    self.testTable.contentSize=CGSizeMake(320,200);
    NSLog(@"table: Width: %f  height %f ",self.testTable.contentSize.width,self.testTable.contentSize.height);

我的 NSLog 调用返回:

2013-04-02 13:23:53.332 TestSet[32358:907] table: Width: 0.000000  height 0.000000 
2013-04-02 13:23:53.333 TestSet[32358:907] table: Width: 320.000000  height 200.000000 

对于它的价值:

@property(nonatomic,strong)UITableView *testTable;

感激地收到任何建议。

更新 - 我正在横向尝试这个

4

2 回答 2

0

它不取决于内容大小,但这是因为您的框架不正确。检查 tableview 的框架是否正确。问题将出现在 tableview 的高度将超出视图并且当表格滚动到达底部时滚动会反弹

使用[tableview setFrame : CGRectMake(x,y,width,height)];

制作

消除

  self.view = self.testTable;
  self.testTable.contentSize=CGSizeMake(320,200);

添加

 [self.view addSubview:self.testTable];

用这个

 self.testTable= [[UITableView alloc] initWithFrame:self.view.frame style:UITableViewStyleGrouped];
 self.testTable.delegate=self;
 self.testTable.dataSource=self;
 [self.view addSubview:self.testTable];
于 2013-04-02T11:41:48.103 回答
0

我解决了我自己的问题。以上所有操作都是在视图控制器 initWithNibName 中完成的,而不是 viewDidLoad。一个愚蠢的错误。

不过,我感谢大家的善意帮助。

于 2013-04-02T20:15:12.463 回答