4

我需要一个允许用户搜索某些东西的搜索控件,然后如果他们没有找到它,他们会按下添加按钮来添加它。我需要在用户输入要搜索的文本时显示添加按钮,我在想文本的右侧。如果我将按钮放在导航栏中,则在用户搜索时它不会显示。

我想使用搜索栏和搜索显示控制器,因为我需要在用户键入时显示结果的功能。这里的第一个答案——在 UISearchBar 左侧添加按钮——似乎不适用于搜索显示控制器。当用户激活搜索字段时,它就会消失。

我已经在这方面走了几条兔子路线:

在这里的第二个答案——在 UISearchBar 左侧添加按钮——我看到建议覆盖书签按钮。这是非常聪明和有效的,但我不知道如何获得“官方”添加按钮图像来覆盖。模拟器似乎不再有图像(?),而且我不喜欢在我的代码中硬编码某些东西的想法。我宁愿(重新)使用 Apple 的添加按钮图标,但我不知道该怎么做。

我尝试创建一个 UISearchBar 的子类,该子类是从具有搜索栏和按钮的笔尖加载的,但我意识到如果我沿着这条路走下去,我认为我必须重新实现 UISearchBar 的界面并转发所有方法调用我正在管理的“真实” UISearchBar。这似乎很恶心。

我尝试创建一个子类 UISearchBar 的视图,并在初始化时动态添加按钮。但在那条道路上,我非常受制于约束。搜索栏中文本字段的约束在视图层次结构中上升了几个级别,我很确定那里至少有一个约束需要删除,同意吗?(因为文本字段当前被限制为延伸到搜索栏的末尾)。

我也尝试了相同的子类并尝试仅在 layoutSubviews 中设置控件的位置,但是当我这样做时,我发现自己必须在搜索栏中放置所有子控件(包括取消按钮等),并且似乎错了。

我仍处于学习模式,而且我的日程安排并不紧。我想以“正确”的方式做到这一点。这意味着我想重用现有的代码和功能,只需添加一个添加按钮。解决这个问题的“正确”方法是什么?

谢谢!

4

0 回答 0