gpt4 book ai didi

ios - UITableViewCell 在展开动画期间没有剪裁到边界

转载 作者:搜寻专家 更新时间:2023-10-30 20:24:05 24 4
gpt4 key购买 nike

我正在尝试使用包含 UIDatePicker 的扩展单元格、自动布局/Masonry 和自动调整大小的单元格来实现一个相当简单的表格 View 。

我在日期选择器单元格以一种很好的方式扩展时遇到问题。当包含日期选择器的单元格开始展开时,它的内容出现在单元格之外,即使我在单元格本身和 cell.contentView 上都有 clipsToBounds = YES。我还尝试在 layoutSubviews 之后重新设置 clipsToBounds = YES

抱歉质量问题,但这是一张以慢动作显示动画问题的 gif。

Animation Glitch

关于如何将日期选择器保持在其单元格内的任何想法?任何帮助将不胜感激!

可能相关的代码片段:

插入/删除

[self.tableView beginUpdates];

if (showingStartTimePicker) {
[sections[TableSectionTimes] insertObject:@(TableRowStartTimePicker) atIndex:index];
[self.tableView insertRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:index inSection:TableSectionTimes]] withRowAnimation:UITableViewRowAnimationTop];
} else {
[sections[TableSectionTimes] removeObject:@(TableRowStartTimePicker)];
[self.tableView deleteRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:index inSection:TableSectionTimes]] withRowAnimation:UITableViewRowAnimationTop];
}

[self.tableView endUpdates];

日期选择器单元格

- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {

[self setClipsToBounds:YES];
[self.contentView setClipsToBounds:YES];

_picker = [UIDatePicker new];
[self.contentView addSubview:_picker];
[_picker makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.contentView);
}];
}
return self;
}

最佳答案

我最终采用的解决方案是将 UITableViewRowAnimationTop 更改为 UITableViewRowAnimationFade,这样在显示行的动画部分,该行几乎不可见。

关于ios - UITableViewCell 在展开动画期间没有剪裁到边界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43619831/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com