Uitableview 使用UIScrollView切换搜索栏视图

Uitableview 使用UIScrollView切换搜索栏视图,uitableview,uiscrollview,uisearchbar,Uitableview,Uiscrollview,Uisearchbar,我在tableview上方嵌入了一个搜索栏,该搜索栏在视图打开后立即可见。我希望在页面加载时将其隐藏,并单击搜索按钮(左下角)我希望搜索栏从顶部设置动画。我已经读到,这可以使用UIScrollview来完成,但是没有一个教程能够帮助我。 1) 我希望它是隐藏的网页加载时,点击搜索按钮 在您的搜索按钮中单击 if(self.searchBar.isHidden) { [sender setSelected:YES]; self.searchBar.hidden=NO; [

我在tableview上方嵌入了一个搜索栏,该搜索栏在视图打开后立即可见。我希望在页面加载时将其隐藏,并单击搜索按钮(左下角)我希望搜索栏从顶部设置动画。我已经读到,这可以使用UIScrollview来完成,但是没有一个教程能够帮助我。

1) 我希望它是隐藏的网页加载时,点击搜索按钮

在您的搜索按钮中单击

 if(self.searchBar.isHidden)
{
    [sender setSelected:YES];
    self.searchBar.hidden=NO;
    [self resetFrame:tableView toFrame:CGRectMake(tableView.frame.origin.x, tableView.frame.origin.y+44, tableView.frame.size.width, tableView.frame.size.height) withDelay:0.5];
}
else if(!self.searchBar.isHidden)
{
    [sender setSelected:NO];
    self.searchBar.hidden=YES;
    [self resetFrame:tableView toFrame:CGRectMake(tableView.frame.origin.x, tableView.frame.origin.y-44, tableView.frame.size.width, tableView.frame.size.height) withDelay:0.5];
    [self.searchBar resignFirstResponder];
}


 -(void)resetFrame:(UIView *)view toFrame:(CGRect )frame withDelay:(float)delay
 {

    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:delay];
    [view setFrame:frame];
    [UIView commitAnimations];
    }

}
只需在单击“搜索”按钮时添加上述内容,或者如果希望在页面显示时将其隐藏,请在视图中将其添加到方法中即可

2) 我希望搜索栏从顶部开始设置动画


通过使搜索栏的y轴低于0示例-100将其添加到视图中,一旦页面加载设置其实际帧,使用重置帧方法将搜索栏从顶部带到视图中

我希望搜索栏滚动到视图中?你能解释一下吗?我想把搜索栏设置为从上面掉下来,然后变得可见,因为你必须从顶部设置动画,而不是滚动。我已经这样做了,但在隐藏的时候,桌面视图上方会显示一个空白区域,我不想你不会设置桌面视图框架。查看我编辑过的答案。尝试上面的答案并与大家分享结果