2012-12-08 30 views
0

我想提出一个UIPickerView对齐UITableView的底部,而不管它滚动的位置。将UIPickerView设置为UITableview的底部而不考虑滚动位置

当前我有一个UIPickerView添加到我按下按钮时显示的UITableView,但是当我滚动表格时,UIPickerView不在视图中,并且如果我滚动出我已呈现的范围它,UIPickerView似乎从未被称为。

有谁知道如何做到这一点?

感谢

+0

您需要为UIPickerView设置框架并添加为self.view的子视图。不是UITableView的子视图。 –

回答

0

东西告诉我,必须有我一直在给定的答案更简单的选择,我找到了解决办法。

我决定使用scrollViewDidScroll:找到滚动点的y坐标,然后将UIPickerView动画到所需的位置。

... 
    [UIView beginAnimations:nil context:NULL]; 
    CGFloat pointY = self.scrollPoint.y; 
    [self.sortPicker setFrame:CGRectMake(0, pointY + 200, 320, 216)]; 
    [UIView commitAnimations]; 
    ... 

因此有必要实施方法停止触摸滚动如果滚动已经停止UIPickerView才会出现:

- (void)stopScroll:(UITableView *)tableview 
{ 
    CGPoint offset = tableview.contentOffset; 
    [tableview setContentOffset:offset animated:NO]; 
} 

这将允许您显示和消除的UIPickerView在在任何特定目的地的任何时刻。

1

使用的UITableViewController是伟大的,除非你需要添加子视图不与表视图滚动。它不可能完成。解决方案是使用UIViewController,并添加您自己的表视图,设置表视图dataSource和委托协议,并复制基本表视图控制器管道。

一旦您的视图控制器再次像普通表视图控制器一样工作,您现在可以将子视图添加到视图控制器的视图中,该视图不会随该表一起滚动。

0

如果u增加tableview中编程

SearchtableView.frame = CGRectMake(450, 90, 318, 600); 
      SearchtableView = [[UITableView alloc] initWithFrame:CGRectMake(623, 90, 400, 400)style:UITableViewStyleGrouped]; 
      [self.view addSubview:SearchtableView]; 
//belove the tableview// 
//Add UIPickerView to the self.view]// 
相关问题