1

我知道我可以設置showsCancelButtonNO的UISearchBar ...直到您點擊搜索欄的文本字段,然後取消按鈕反正出現! (至少它對我來說)顯示的UISearchBar「X」文本字段中與相鄰的取消按鈕

有沒有辦法在文本字段中顯示圓圈內的「X」,而不是在其旁邊顯示單獨的「取消」按鈕?請注意,此按鈕僅在搜索模式處於活動狀態時纔會顯示,並且不管showsCancelButton的設置如何。

回答

0

如果您使用Interface Builder是紅黴素容易show.it有通過default.i已經在我的應用程序使用的搜索欄和searchbartextfield有一個「X」,以清除文本框

+0

爲了澄清我的問題:我問是否有一種方法可以顯示圓圈中的「X」(即_instead_),並在旁邊顯示單獨的「取消」按鈕。是的,一旦開始輸入文字,圓圈中的「X」肯定會出現,但取消按鈕將保留,無論showsCancelButton的設置如何。 – 2009-09-27 01:14:25

0

這可能是「X」僅用於清除搜索欄並且不取消搜索,因此一旦搜索正在播放,取消按鈕必須保留,無論顯示取消按鈕

2

使用該取消按鈕不會顯示時嘗試這個

- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar 
{ 
    // only show the status bar's cancel button while in edit mode 
    mySearchBar.showsCancelButton = NO; 

} 
- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar 
{ 
    mySearchBar.showsCancelButton = NO; 
} 

+0

根本不適用於我。當我加入時,即使進入編輯模式時,取消按鈕仍然顯示,即使我通過進行設置的線路追蹤。 – 2009-09-29 14:10:14

+0

但它在我的應用程序中工作。 – 2009-09-29 14:38:30

+0

從哪裏添加UIsearchbar? – 2009-09-29 14:39:35

1
for (UIView *searchBarSubview in [searchBar subviews]) { 

    if ([searchBarSubview conformsToProtocol:@protocol(UITextInputTraits)]) { 

     [(UITextField *)searchBarSubview setClearsOnBeginEditing:YES]; 
    } 
} 

使cancelButton嘗試searchBar.showsCancelButton = YES; 試試上面的代碼行。

+0

謝謝!我傾向於以這種方式在子視圖中流浪(除非有文件記錄),但您肯定已經在這裏進行了盡職調查。要確認,取消按鈕保持不變或執行此操作時消失了嗎? – 2011-08-25 00:20:27

+0

執行此代碼後,它將在文本框中顯示x符號,如果你想啓用取消按鈕set showsCancelButton = YES看看我更新的答案 – Raj 2011-08-25 10:33:48

相關問題