UISearchBar动画隐藏按钮

Dav*_*lho 6 iphone animation uisearchbar uisearchdisplaycontroller

我目前有一个UISearchBar(附加到UISearchDisplayController),但我缩小了搜索栏的宽度,以便在未选择搜索栏时可以在其右侧显示自定义按钮.该按钮用于访问其他视图.

但是,当我选择搜索栏然后按取消(甚至执行搜索)并返回普通视图时,搜索栏应显示我的自定义按钮,搜索栏会动画并占用所有空间按钮和不显示.从本质上讲,当我只希望它占据屏幕的一部分时,搜索栏会占用屏幕的所有宽度.

有没有办法阻止搜索栏动画到屏幕的整个宽度?

这就是我定义搜索栏的CGRect的方式:

self = [[UISearchBar alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 250.0f, 45.0f)]
Run Code Online (Sandbox Code Playgroud)

pet*_*ert 1

这篇文章可能会有所帮助。听起来确实需要子类化 UISearchBar 来阻止它进行正常的绘制。

更新我想在 UINavigationBar 中使用 UISearchBar,并在触摸时调整其大小以填充栏 - 就像 Safari 应用程序中的行为一样。我能做到这一点的唯一方法是直接使用 UISearchBar。您的问题略有不同,但您可以尝试仅使用搜索栏来获得所需的 UI 行为;然后连接随后搜索的逻辑;即不依赖 UISearchDisplayController?