iOS搜索栏动画在ViewController中淡出

时间:2016-04-12 08:30:11

标签: ios objective-c animation uisearchbar

我使用此代码将视频栏添加到视图控制器中。

self.searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 64, MAINSCREEN.size.width, self.searchBar.frame.size.height)];
self.searchBar.delegate = self;

self.searchDisplayController = [[UISearchDisplayController alloc] initWithSearchBar:self.searchBar contentsController:self];
self.searchDisplayController.delegate = self;
self.searchDisplayController.searchResultsDataSource = self;

[self.view addSubview:self.searchBar];

self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 64 + self.searchBar.frame.size.height, MAINSCREEN.size.width, MAINSCREEN.size.height)];
self.tableView.delegate = self;
[self.view addSubview:self.tableView];

我必须以编程方式将搜索栏和表格视图添加到视图中,因为我希望搜索栏始终位于表格视图的顶部,因此我使用了这些代码。

不幸的是,有一个问题是,当我用CGRectMake修复位置时搜索栏没有动画,所以我必须创建自己的动画来处理这段代码的问题。

- (BOOL)searchBarShouldBeginEditing:(UISearchBar*)searchBar {

    [UIView animateWithDuration:0.55f
                                       delay:0
                      usingSpringWithDamping:500.0f
                       initialSpringVelocity:0
                                     options:UIViewAnimationOptionOverrideInheritedDuration
                                  animations:^{
                                      self.searchBar.frame = CGRectMake(0, 20, MAINSCREEN.size.width, self.searchBar.frame.size.height);
                                  }
                                  completion:nil];
    return YES;
}

- (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar
{
    [UIView animateWithDuration:0.6f
                          delay:0
         usingSpringWithDamping:500.0f
          initialSpringVelocity:0.0f
                        options:UIViewAnimationOptionCurveLinear
                     animations:^{
                         self.searchBar.frame = CGRectMake(0, 64, MAINSCREEN.size.width, self.searchBar.frame.size.height);
                     }
                     completion:nil];
    return YES;
}   

但是当阴影和物体有太多不同的时候,它的运动看起来有点愚蠢,我已经拍摄了一个gif图像,目前是慢动作。

enter image description here

那么如何以正确的方式调整搜索栏的动画,使其与阴影和导航栏完全相同?

感谢您的帮助。

0 个答案:

没有答案