Ios 向下移动UITableViewCells
我有一个UITableView,里面是UIView和动态UITableViewCells。 UIView位于表的顶部,单元格位于其正下方 我的问题是,当我在按下某个按钮后放大UIView时,它与它下面的单元格重叠。由于单元格是动态的,我不知道如何访问单元格并将其原点.y向下移动。 此外,如果我有很多细胞,我真的不想一个一个地移动每个细胞 我试图查看UITableView的单元格是否有某种偏移参数,但没有找到任何类似的参数 通过故事板,当我在表格中放大UIView时,单元格会自动被推到其下方,但不幸的是,当我通过代码(按下按钮后)以编程方式放大UIView时,单元格会保持在原来的位置,不会移动 下面是一个说明正在发生什么的插图:Ios 向下移动UITableViewCells,ios,uitableview,Ios,Uitableview,我有一个UITableView,里面是UIView和动态UITableViewCells。 UIView位于表的顶部,单元格位于其正下方 我的问题是,当我在按下某个按钮后放大UIView时,它与它下面的单元格重叠。由于单元格是动态的,我不知道如何访问单元格并将其原点.y向下移动。 此外,如果我有很多细胞,我真的不想一个一个地移动每个细胞 我试图查看UITableView的单元格是否有某种偏移参数,但没有找到任何类似的参数 通过故事板,当我在表格中放大UIView时,单元格会自动被推到其下方,但不
“我的自动布局”已关闭。您不应以当前的方式将UIView放入UITableView中。在我看来,主要有两种方法: 1) 将
UITableView
添加到UITableView
上方。你没有提到为什么它需要在里面
UIView *view = [[UIView alloc] init];
UITableView *tableView = [[UITableView alloc] init];
view.translateAutoResizingMaskIntoConstraints = NO;
tableView.translateAutoResizingMaskIntoConstraints = NO;
[self.view addSubview:view];
[self.view addSubview:tableView];
NSDictionary *viewsDictionary = @{@"view" : view, @"tableView" : tableView};
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[view]" options:kNilOptions metrics:nil viewDictionary:viewsDictionary];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[view][tableView]|" options:NSLayoutFormatAlignAllLeading | NSLayoutFormatAlignAllTrailing metrics:nil viewDictionary:viewsDictionary];
2) 假设UIView绝对需要位于UITableView内部,最好的方法是使用contentOffset
CGSize innerViewSize = CGSizeMake(CGRectGetWidth(self.view.bounds), 200.0f);
UIView *innerView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, -innerViewSize.height, innerViewSize.width, innerViewSize.height)];
UITableView *tableView = [[UITableView alloc] initWithStyle:UITableViewStylePlain frame:self.view.bounds];
tableView.contentOffset = CGPointMake(0.0f, innerViewSize.height);
然后,无论何时需要增加内部视图的大小,都可以更改其y原点,并增加
contentOffset.y
这听起来像是希望自定义UIView
通过在高度增加时上下移动单元格来表现为UITableViewCell
。所以就这么做吧。创建一个自定义的UITableViewCell
,其高度可以动态更改,并在顶部(或任何您需要的地方)渲染该单元格。感谢Infinity,我将尝试此操作。我在里面需要UIView的原因是,视图和表中的单元格都将一起滚动。contentOffset没有完成这项工作。我想内容插图就是你的意思。在这个问题上,我会同意亚伦的回答,因为这似乎是最合理的。感谢您并向上投票。将此功能放入自定义单元格会更容易,因此,您的表只管理UITableViewCell
对象的集合。通过这种方式,您可以增加/减少自定义表视图单元格的高度,而其他单元格应该响应,而无需编写大量代码来处理该问题。