2013-08-29 4 views
1

나는 지금까지 내가 오른쪽에 이미지를 추가하는 방법을 알아야 이제이사용자 정의 UISearch 바

enter image description here 개까지 어떻게 관리해야이 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

Didnt work 이미지가 표시되지 않습니다. – Gamerlegend

+0

n 사용자 지정 검색 모음을 만들었습니까? –

+0

질문에 게시 한 광산과 함께 ur 코드를 추가하려고했지만 응답이 없습니다. – Gamerlegend

0

검색 창의 배경 이미지를 변경하려면 대상 응용 프로그램이 5.0 이상인 경우이 코드 줄을 사용할 수 있습니다.

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

배경과 정확히 배경을 설정합니다. 배경이 "원하는 이름이나 스팟 코드로 찾기"텍스트 뒤에 나타납니다. – Gamerlegend

+0

그래서 당신은 bycode로 변경할 수 있습니다. – iEinstein

관련 문제