在iOS開發中,使用UISearchBar的時候,當搜索框失去焦點的時候,取消按鈕是默認不能點擊的,如圖按鈕的顏色是灰色的:
這是因為此時取消按鈕的enabled屬性被設置為NO了,那么當我們需要讓取消按鈕一直可以點擊的時候,就需要我們自己來改變該屬性的賦值,這里舉例當點擊search按鈕的時候,回收鍵盤的同時讓取消按鈕的可以點擊,在代理方法里面添加代碼如下:
-(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar { [searchBar resignFirstResponder]; //searchBar失去焦點 UIButton *cancelBtn = [searchBar valueForKey:@"cancelButton"]; //首先取出cancelBtn cancelBtn.enabled = YES; //把enabled設置為yes }
這樣就可以了