駁回UISearchDisplayController據我知道確切的情況下,積極UISearchDisplayController
可以在兩個條件下予以辭退:如何檢測在自來水
- 當取消按鈕隨時點擊
- 當搜索文本框是空的,並且搜索欄下的灰色暗區域被點擊 。
我能夠通過searchBarCancelButtonClicked
方法平凡地檢測案例1。至於案例2,似乎沒有任何代理方法可用於在點擊時立即通知。
我實現所有的委託方法來研究的調用序列,發現了2的情況下,只有兩種方法被解僱:
點擊 - >willUnloadSearchResultsTableView
- >searchDisplayControllerDidEndSearch
然而,這兩個事件只有在輕拍延遲後纔會觸發,而不是直接觸擊事件(後者是我真正需要的)。
爲了完整起見,下面是事件序列對於情況1:
searchBarCancelButtonClicked
- >willHideSearchResultsTableView
- >didHideSearchResultsTableView
- >willUnloadSearchResultsTableView
- >searchDisplayControllerDidEndSearch
任何想法?
對此的回答這個question建議使用searchDisplayControllerDidEndSearch
,但對我來說太遲了。對於好奇,我打算做的是立即在搜索取消時將搜索文本值重置爲先前的值。在willUnloadSearchResultsTableView
或searchDisplayControllerDidEndSearch
中實施此邏輯時,僅在延遲後設置文本時,會在搜索欄中導致相當不雅觀的閃爍。
謝謝!