将 UISearchBar 放在自定义 UITableview 中会导致奇怪的动画

Posted

技术标签:

【中文标题】将 UISearchBar 放在自定义 UITableview 中会导致奇怪的动画【英文标题】:Putting UISearchBar in a custom UITableview causing weird animation 【发布时间】:2016-10-22 17:20:36 【问题描述】:

基本上,我包括位于导航栏下方的两个按钮。在这两个按钮的下方,有一个 UITableView,它的头部视图是 UISearchBar。但是,当我点击搜索栏时,动画的动作很奇怪。

然后我尝试使用动画将 UITableView 连同搜索栏一起移动到顶部,

动画是这样的

添加到表格视图的代码是这样的:

- (BOOL) searchBarShouldBeginEditing:(UISearchBar *)searchBar 
    CGRect tableViewFrame = self.myTableView.frame;
    tableViewFrame.origin.y = 0;
    [UIView animateWithDuration:0.1
                     animations:^
                         self.myTableView.frame = tableViewFrame;
                     
                     completion:nil];
    return YES;

我想知道如何将 UISearchBar 移动到屏幕顶部,以及带有流畅动画的整个表格视图。

【问题讨论】:

如果您包含其他屏幕截图会有所帮助。这个问题不清楚(至少对我来说)。 【参考方案1】:
- (BOOL) searchBarShouldBeginEditing:(UISearchBar *)searchBar 
    [UIView animateWithDuration:0.1
                         animations:^
                             [ searchBar setFrame:CGRectMake(searchBar.frame.origin.x, 0, searchBar.frame.size.width, searchBar.frame.size.height)];
                             [self.myTableView setFrame:CGRectMake(myTableView.frame.origin.x, searchBar.frame.size.height, self.myTableView.frame.size.width, myTableView.frame.size.height)];
                         
                         completion:nil];

    return YES;

试试这个代码

【讨论】:

以上是关于将 UISearchBar 放在自定义 UITableview 中会导致奇怪的动画的主要内容,如果未能解决你的问题,请参考以下文章

自定义 UISearchbar

自定义UISearchBar

默认情况下在 UICollectionView 中滚动 UISearchBar

自定义 UISearchBar 结果单元格

自定义UISearchBar

如何为自定义的 UISearchBar 实现 scopeButtonTitles?