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

标签 ios objective-c uitableview

我正在尝试使用包含 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/

相关文章:

iOS:从 Crashlytics 了解 SIGABRT 崩溃

objective-c - Objective-C 中的 NSArray 子类

ios - 为选定的单元格禁用 prepareForReuse

iphone - UITableViewCell 滚动时复选框重复

ios - iOS 中的身份验证和 session 管理

ios - 为什么我在 sqlite3 IOS 中尝试调用更新时出现错误 "out of the memory"?

objective-c - 保存文件避免重复文件名和覆盖

ios - 如何使用 NSFetchedResultsController 在 TableView Controller 中添加一个部分(带有自定义标题单元格)?

ios - 访问 Storyboard 中的 View

ios - React-Native:Facebook登录后返回应用程序?