2013-08-29 190 views
1

我想定製我的搜索欄這樣 enter image description here定製UISearch酒吧

到目前爲止,我已經成功地做到高達這個

enter image description here 現在我需要知道如何在右側添加圖像,塑造角落並將背景變爲圖像。這是我的代碼到目前爲止。我可以在UITextField的幫助下做到這一點,但我想使用UISearchBar來做到這一點。任何幫助?

- (void)setSearchIconToFavicon 
    { 
     // commented are the things I tried out 
     UITextField *searchField = nil; 
     for (UIView *subview in searchBar.subviews) 
     {  
      if ([subview isKindOfClass:[UITextField class]]) 
      {  
       searchField = (UITextField *)subview;  
       break;  
      } 
     }  
     if (searchField) 
     {  
      UIImage *image = [UIImage imageNamed: @"search_btn.png"]; 
      UIImageView *iView = [[UIImageView alloc] initWithImage:image]; 
      //UIImage *image2 = [UIImage imageNamed: @"search_next_btn.png"]; 
      //UIImageView *iView2 = [[UIImageView alloc] initWithImage:image2]; 
      searchField.leftView = iView;  
      //searchField.rightView=iView2; 
      [[self.searchBar.subviews objectAtIndex:0] removeFromSuperview]; 
      searchField.textColor = [UIColor grayColor]; 
     } 
    } 

回答

0

可以更換書籤圖像,而不是,並調整其偏移如果necessary.Like這個..

[self.searchDisplayController.searchBar setImage:[UIImage imageNamed:@"yourImage"] forSearchBarIcon:UISearchBarIconBookmark state:UIControlStateNormal]; 
[self.searchDisplayController.searchBar setPositionAdjustment:UIOffsetMake(0, 0) forSearchBarIcon:UISearchBarIconBookmark]; 

而且你可以處理的委託方法的按鈕事件:

- (void)searchBarBookmarkButtonClicked:(UISearchBar *)searchBar 

我希望你明白我的觀點。

+0

沒有工作,圖像沒有出現。 – Gamerlegend

+0

你試過什麼?你有沒有定製搜索欄? –

+0

我試過在我的問題中加入了我的代碼,但沒有迴應 – Gamerlegend

0

如果您的目標應用程序> = 5.0以更改搜索欄的背景圖像,則可以將此行代碼。

[[UISearchBar appearance] setSearchFieldBackgroundImage:[UIImage imageNamed:@"searchbar.png"]forState:UIControlStateNormal]; 
+0

它完全按照圖片設置背景,背景也顯示在文本「按名稱或代碼查找」後面,我不想要 – Gamerlegend

+0

所以你可以通過代碼來改變它 – iEinstein