У меня есть UIView
в статике UITableViewCell
. view
настроен на скрытие в viewDidLoad
. Когда выбирается button
, становится видимым view
.Как добавить анимацию, когда вид станет видимым?
- (void)viewDidLoad {
[self.myView setHidden:YES];
}
- (IBAction)myButton:(id)sender
{
if (self.myView.hidden == YES) {
[self.myView setHidden:NO];
} else {
[self.myView setHidden:YES];
}
[self.tableView beginUpdates];
[self.tableView endUpdates];
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.row == 1)
{
if (self.myView.hidden == YES) {
retuen 252 - self.myView.bounds.size.height;
} else return 252;
}
tableView.estimatedRowHeight = 150;
return UITableViewAutomaticDimention;
}
Что происходит сейчас, когда выбран button
, то view
становится видимым и cells
высота меняется с анимацию; но view
сразу становится видимым, и он мешает другим объектам (пока анимация cells
не закончится).
Как я могу сделать view
также с анимацией? (Я предпочитаю его анимировать в высоте.)
Редактировать
Я попытался следующим анимировать высоту, так что он должен быть синхронизирован с cell
if (self.myView.hidden == YES) {
[self.myView setFrame:CGRectMake(self.myView.frame.origin.x, self.myView.frame.origin.y - self.myView.frame.size.height, self.myView.frame.size.width, self.myView.frame.size.height)];
[self.myView setHidden:NO];
[UIView animateWithDuration:1.0 animations:^(){
[self.myView setFrame:CGRectMake(self.myView.frame.origin.x, 0, self.myView.frame.size.width, self.myView.frame.size.height)];
}];
}
Но всем это делает анимирует местоположение views
, (от до носа,) не его высота ??
Обновленный вопрос –
касаемо вашего редактирования, вы просто изменения у положения просмотров кадра, а не высоту, последний параметр 'CGRectMake' является высота – Fonix