在我的应用程序中,我使用的是UIView
,其中包含UITableView
,Buttons
和Labels
。它使用Storyboard
创建。当用户单击一个导航栏按钮UIView
将出现从顶部到一定高度的动画,如果他们再次点击它,它会用动画隐藏UIView(从该高度到顶部)。 和UIActionView
相同。动画UIView无法正常工作
如果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;
}];
}
我做错的是什么?
是否在故事板上选择了AutoLayout? – 2014-10-29 15:04:29
@JimTierney是的,它是 – GoCrazy 2014-10-29 15:20:49