无论滚动到哪里,我都想将一个UIPickerView
对齐的底部呈现出来。UITableView
目前我有一个UIPickerView
添加到UITableView
我按下按钮时呈现的一个,但是当我滚动表格时,它UIPickerView
会消失,如果我滚动到我呈现它的范围之外,UIPickerView
似乎从来没有被调用。
有谁知道如何做到这一点?
谢谢
无论滚动到哪里,我都想将一个UIPickerView
对齐的底部呈现出来。UITableView
目前我有一个UIPickerView
添加到UITableView
我按下按钮时呈现的一个,但是当我滚动表格时,它UIPickerView
会消失,如果我滚动到我呈现它的范围之外,UIPickerView
似乎从来没有被调用。
有谁知道如何做到这一点?
谢谢
UITableViewController
除非您需要添加不随表格视图滚动的子视图,否则使用非常好。真的做不到。解决方案是改用 aUIViewController
并添加您自己的表视图,设置表视图数据源和委托协议,并复制基本的表视图控制器管道。
一旦您的视图控制器再次像普通的表格视图控制器一样工作,您现在可以将子视图添加到不会随表格滚动的视图控制器的视图中。
如果你以编程方式添加 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]//
有人告诉我,必须有一个更简单的替代方案来代替我得到的答案,我找到了解决方案。
我决定使用scrollViewDidScroll:
UIPickerView 找到滚动点的 y 坐标,然后将其动画到所需位置。
...
[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。