Ios 修复了顶部UITableView中的UIImage
当我在带有原型单元格的Ios 修复了顶部UITableView中的UIImage,ios,swift,uitableview,cocoa-touch,uiimageview,Ios,Swift,Uitableview,Cocoa Touch,Uiimageview,当我在带有原型单元格的UITableView顶部添加一个UIImage时,图像不会保持固定。因此,当我滚动顶部的UITableView时,它也会随之滚动 有没有办法将UIImage视图添加为固定(不可移动)视图 谢谢 您可以做的是创建一个UIView子类并通过点击测试,从而将所有触摸事件传递到下面的表格视图,这样您就可以在图像视图中使用滚动手势,而不会移动它 在您的实施中: - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
UITableView
顶部添加一个UIImage
时,图像不会保持固定。因此,当我滚动顶部的UITableView
时,它也会随之滚动
有没有办法将UIImage
视图添加为固定(不可移动)视图
谢谢 您可以做的是创建一个
UIView
子类并通过点击测试,从而将所有触摸事件传递到下面的表格视图,这样您就可以在图像视图中使用滚动手势,而不会移动它
在您的实施中:
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
UIView *view = [super hitTest:point withEvent:event];
if (view == self) {
view = nil;
}
return view;
}
将
UIImageView
放在表视图上,即将其添加到表视图的superview中(确保已启用用户交互,并将情节提要中的类设置为您的子类。使用以下方法在UIImageView中设置图像或在UITableView标题中添加为UIView背景。很抱歉,下面的代码是swift的,您也会在Objective C中找到它
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
}
您需要遵循以下步骤:
UITableView是UIScrollView的一个子类。因此,我们可以使用scrollViewDidScroll方法来执行此任务 将imageView固定在顶部很简单。但是您需要在scrollViewDidScroll方法中获取imageView的引用
func scrollViewDidScroll(scrollView: UIScrollView) {
if scrollView==self.tableView {
var frame = yourImageView.frame
if scrollView.contentOffset.y > 0 {
frame.origin.y = scrollView.contentOffset.y
yourImageView.frame = frame
} else if scrollView.contentOffset.y == 0 {
frame.origin.y = 0
yourImageView.frame = frame
}
}
}
把它放在桌子里面header@FrequencyMatched它也会滚动。我建议将它放在UIImageView中,作为主视图(包含图像和表)的子视图放在UITableView的顶部@ryancrunchi是的,但如果将UIImageView作为节头(以编程方式),它不会滚动。如果它是分区标题,它将在第二个分区之前不会滚动,但如果您滚动到顶部,它将滚动(如拉动刷新)。如果它是表格视图标题,它将像任何其他单元格一样滚动。