我想在UIPickerView
的底部张贴UITableView
,无论它在哪里滚动。
目前,当我按下按钮时,我将UIPickerView
添加到UITableView
,但是当我滚动表格时,UIPickerView
会退出视图,如果我'我滚动到我所呈现的范围之外,UIPickerView
似乎从未被调用过。
有谁知道如何做到这一点?
感谢
答案 0 :(得分:1)
除非您需要添加不与表视图一起滚动的子视图,否则使用UITableViewController
非常有用。它无法真正完成。解决方案是使用UIViewController
代替并添加自己的表视图,设置表视图dataSource并委托协议并复制基本的表视图控制器管道。
一旦您的视图控制器再次像普通的表视图控制器一样工作,您现在可以将子视图添加到视图控制器的视图中,该视图不会随表一起滚动。
答案 1 :(得分:0)
如果你以编程方式添加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]//
答案 2 :(得分: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。