iOS Clumsy UISearchBar动画

时间:2013-12-02 02:50:54

标签: ios animation uisearchbar

我正在尝试使用

为UISearchBar设置动画
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar
- (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar

委托方法,但我对后者的实现似乎导致clumsy animation(慢动画版本here)。我的代理实现如下所示(我更改了生成第二个视频的持续时间)。有什么方法可以解决这个问题吗?

值得注意的是navigation是一个独立的UINavigationBar(我没有使用UINavigationController)。

- (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar {
[UIView animateWithDuration:.25
                      delay:0.0
                    options: UIViewAnimationOptionBeginFromCurrentState
                 animations:^ {
                     navigation.alpha = 1;

                     CGRect newTableBounds = chatList.frame;
                     newTableBounds.size.width -= 40; //newBounds.size.width -= 215; to contract
                     newTableBounds.origin.x += 40;
                     newTableBounds.origin.y += 40;
                     chatList.frame = newTableBounds;

                     CGRect rootFrame = self.ddParent.rootViewController.view.frame;
                     rootFrame.origin.x += 40;
                     self.ddParent.rootViewController.view.frame = rootFrame;
                 }
                 completion:nil];
    return YES;
    }

1 个答案:

答案 0 :(得分:0)

您没有调整动画中的搜索栏框架。调整立即进行,然后其他项目动画。将它移动到动画块中,一切都应该是好的。