У меня есть статический UITableViewCell
со скрытым datePickerView
в нем. Когда выбирается button
, становится видимым datePickerView
, а высота cells
становится больше. Вот код:Как оживить высоту UIDatePickerView?
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.row == 1)
{
if (self.datePickerView.hidden == YES) {
return 252 - self.datePickerView.bounds.size.height;
}
else return 252;
}
tableView.estimatedRowHeight = 150;
return UITableViewAutomaticDimension;
}
- (IBAction)datePicker:(id)sender
{
if (self.datePickerView.hidden == YES)
{
[self.datePickerView setHidden:NO];
[self.datePickerView setFrame:CGRectMake(self.datePickerView.frame.origin.x, self.datePickerView.frame.origin.y, self.datePickerView.frame.size.width, 0)];
[UIDatePicker animateWithDuration:1.0 animations:^(){
[self.datePickerView setFrame:CGRectMake(self.datePickerView.frame.origin.x, self.datePickerView.frame.origin.y, self.datePickerView.frame.size.width, self.datePickerView.frame.size.height)];
}];
} else {
[self.datePickerView setHidden:YES];
}
[self.tableView beginUpdates];
[self.tableView endUpdates];
}
Когда datePickerView
становится видимой, а cells
высоты становится все больше, cells
высоты одушевляет, но datePickerView
не делает. Я попытался анимировать его высоту, поэтому ее нужно синхронизировать с cell
, но это не так?
Он по-прежнему не оживляет? –
После анимации его высота «0» или ожидаемое значение? –
ожидаемое значение. Высота никогда не показывает значение 0 –