在保持功能的同时在两个子视图之间交换

时间:2013-02-05 03:27:08

标签: ios

我想创建一个简单的应用程序,它在视图顶部有一个带条形(约50px高)的表格。该栏将包含一个搜索按钮。按下搜索按钮时,我想用搜索栏换出栏中的视图。我想不出最好的办法。

我有几种选择。我可以通过编程方式或者为每个视图制作自定义的.xib文件并将它们换掉。使用自定义.xib文件,我不知道如何将功能传递给主ViewController。

我认为在某些地方有一些关于这一点的东西。我希望得到一些关于最佳方法的意见。

1 个答案:

答案 0 :(得分:1)

我以这种方式实现了这个功能:

  1. 创建一个UIToolbar并将其放在顶部(可以在Storyboard中完成),为它创建一个属性
  2. 创建一个UISearchBar并将其放在顶部附近,然后为其创建一个属性并将isHidden设置为true
  3. 在您的代码中:

    1. 将UISearchBar的框架设置为等于工具栏的框架。

      [self.searchBar setFrame:self.toolBar.frame];

    2. 在工具栏中创建一个“搜索”按钮,它将设置searchBar的isHidden = NO和toolBar的isHidden = YES。

    3. 配置serchBar的取消按钮以反转两个栏的isHidden字段。
    4. 这将没有动画。只是完全取代。

      要使其具有动画效果,请使用以下内容:

      [self.searchBar setHidden:NO];
      [UIView transitionWithView:self.searchBar duration:0.5 options:UIViewAnimationOptionTransitionFlipFromLeft animations:^{} completion:^(BOOL finished) {
          [self.toolBar setHidden:YES];
      }];