3
我試圖用包含UIDatePicker的擴展單元實現一個相當簡單的表格視圖,具有自動佈局/砌體和自動調整大小的單元格。UITableViewCell在展開動畫期間沒有剪裁到邊界
我遇到了日期選擇器單元格以不錯的方式展開的問題。當包含日期選擇器的單元格開始展開時,其內容顯示在單元格外部,即使我在單元格本身和cell.contentView上都有clipsToBounds = YES
。我也試過在layoutSubviews
之後重新設置clipsToBounds = YES
。
對不起,質量,但這裏是一個動畫顯示慢動作問題的gif。
我如何能保持其細胞內裁剪日期選取任何想法?任何幫助將不勝感激!
可能相關的代碼段:
插入/刪除
[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];
DatePickerCell
- (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;
}
您是否使用xib作爲tablecell?如果是,請在awakeFromNib方法中將clipsToBound設置爲YES。 –
不,它完全是編程的 – Wernzy
這裏有一個例子,你可以從Swift中收集一些信息,但概念將是相同的:http://www.appcoda.com/expandable-table-view/ ---另外,我有一個GitHub倉庫,演示了一些顯示/隱藏單元格元素的方法 - 同樣在Swift中,但概念yada yada:https://github.com/DonMag/DynamicCellHeight – DonMag