对不起,我不知道一个更好的头衔.
问题:
我有一个UITableViewCell自动布局,笔尖的默认高度是300. 300是我的一个正确的大小UIViewControllers.
我在UINavigationController容器视图中使用了一个容器视图,在容器视图下面是一个UIView被调用的FooterView.
在容器视图中有两个UIViewControllers; VC1和VC2.
当我推VC2到VC1,我也改变FooterView的高度与它的NSLayoutConstraint高度不变.
我正在动画块里面这样做 [self.view setNeedsLayout];
我将UITableViewCell内部的高度设置VC2为200.
现在的问题是,当我转换VC1到VC2你时,你也会看到UITableViewCell动画从300到200.
我的猜测是,这是因为动画块.我通过删除动画来测试它,并且单元格没有动画(如预期的那样).
有没有办法阻止这个动画链接?
如果我不够清楚,我很抱歉.
我需要做的就是覆盖layoutSubviews单元格内部:
- (void)layoutSubviews
{
[UIView performWithoutAnimation:^{
[super layoutSubviews];
[self.contentView layoutIfNeeded];
_shadowView.layer.shadowPath = [UIBezierPath bezierPathWithRect:_shadowView.bounds].CGPath;
}];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2084 次 |
| 最近记录: |