Анимация UIView не работает должным образом
В моем приложении я используюUIView
который включает в себяUITableView
,Buttons
а такжеLabels
в этом. Он создан с использованиемStoryboard
, Когда пользователь нажимает кнопку панели навигацииUIView
будет отображаться с анимацией сверху до определенной высоты, и если они щелкнут по ней снова, UIView будет скрыто с анимацией (от этой высоты до вершины). Такой же какUIActionView
.
Работает нормально, если нет записей вUITableView
, Но если он имеет какие-либо записи, во время[self hideBasket]
UIView отображается снизу вверх (не скрыто).
// Скрыть код корзины
-(void)hideBasket{
/*Finished Hiding the Basket
[self.view sendSubviewToBack:_shoppingCartView];
[_shoppingCartView setHidden:YES];
_isShoppingCartSeen = NO;*/
CGRect basketFrame = _shoppingCartView.frame;
basketFrame.origin.y = -basketFrame.size.height;
[UIView animateWithDuration:1.0 delay:0.0 options:UIViewAnimationOptionCurveEaseOut animations:^{
_shoppingCartView.frame = basketFrame;
} completion:^(BOOL finished) {
// Finished Hiding the Basket
//[self.view sendSubviewToBack:_shoppingCartView];
// [_shoppingCartView setHidden:YES];
_isShoppingCartSeen = NO;
}];
// Показать код корзины
-(void)showBasket{
/*[self.view bringSubviewToFront:_shoppingCartView];
[_shoppingCartView setHidden:NO];
_isShoppingCartSeen = YES;*/
CGRect basketFrame = _shoppingCartView.frame;
basketFrame.origin.y = 0;
[UIView animateWithDuration:1.0 delay:0.0 options:UIViewAnimationOptionCurveEaseOut animations:^{
_shoppingCartView.frame = basketFrame;
} completion:^(BOOL finished) {
// Finished Showing the Basket
[self.view bringSubviewToFront:_shoppingCartView];
[_shoppingCartView setHidden:NO];
_isShoppingCartSeen = YES;
}];
}
Что я здесь не так делаю?