【发布时间】:2014-10-29 13:50:32
【问题描述】:
在我的应用程序中,我使用了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;
}];
}
我在这里做错了什么?
【问题讨论】:
-
故事板上是否选择了自动布局?
-
@JimTierney 是的
标签: ios objective-c uiview uiviewanimation