代码之家  ›  专栏  ›  技术社区  ›  prostock

iPhone-多文本字段搜索栏

  •  10
  • prostock  · 技术社区  · 14 年前

    我正在实现一个基于位置的关键字搜索。如果有人看到过Yelp的搜索栏,那就是我要做的。基本上,单击搜索栏后,我想为关键字提供一个文本字段输入,为位置提供另一个文本字段输入。我将子类化哪个UI元素?我该怎么办?

    2 回复  |  直到 13 年前
        1
  •  2
  •   Madhup Singh Yadav    13 年前

    不久前,我也做了一个类似的应用程序。
    我在应用程序中所做的是遵循以下步骤(我只是简单描述,而不是代码部分):

    初始外观:

    • 我用搜索栏插入导航栏。(我在 viewDidLoad 我的班级)。
    • 在这个类的XIB文件中,我在顶部放置了一个视图,在其中放置了两个 UITextFields 一个在另一个下面。我把这个视图隐藏起来,并根据视图的高度移动它的Y坐标,使它们 -(viewHeight) .

    功能性部分

    • 一旦用户接触到导航栏中的搜索栏,我就将其隐藏,用文本字段取消隐藏视图,并移动Y坐标直到它们再次变为0。

    • 在搜索栏的委托方法中, - (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar 我返回了no,在从这个方法返回no之前做了动画部分(在前一步中提到)。

    • 我让我的第一个文本字段成为第一个响应者,这样键盘就会自动出现。

    • 现在,当我在两个文本字段中填充完数据后,我颠倒了动画,并将填充的数据放到搜索栏的文本字段中。

    希望这有帮助。

        2
  •  4
  •   James J    13 年前

    Yelp的实现看起来是一个带有两个uitextfield对象的自定义视图,带有一个翻译和缩放动画,使其看起来从顶部放大。动画完成后,将向层次添加表视图。通过使其中一个文本字段成为第一响应者来调用键盘。

    顺便说一句,一般来说,将UI元素组合在一起优于子类化。