2012-12-12 2 views
1

iOS에서 UISearchBar의 텍스트 필드를 사용자 정의하려고하는데 문제가 있습니다. 다음과 같은 방법을 사용 :iOS UISearchBar 텍스트 필드 배경

[searchBar setSearchFieldBackgroundImage:searchFieldImage forState:UIControlStateNormal]; 

것은 나에게 텍스트 필드에 이미지를 제공하지만, TINY입니다. 이미지는 40x15 픽셀 크기로 스트레칭에 사용됩니다. - 그냥로 소요

UIImage *searchFieldImage = [[UIImage imageNamed:@"input_15x40.png"] 
        resizableImageWithCapInsets:UIEdgeInsetsMake(7, 19, 7, 20)]; 

그러나,이 모습 수정 이미지를 스트레칭하지 않는 것 같다 다음과 같이 나는 이미지를 만드는거야. 신축성있는 이미지로 UISearchBar의 텍스트 필드 이미지를 사용자 정의하는 방법은 무엇입니까?

편집 나는 막대가 수평으로 뻗어되는 말을해야하지만, 수직으로 뻗어, 따라서 단지 15 픽셀 높이되지 않습니다.

+0

가능 중복 (http://stackoverflow.com/questions/7229147/uisearchbar-changing-background-color-of-input-field) – BB9z

+0

호에서 [UISearchBar 입력 필드의 배경색을 변경] 이것은 이미지 자체가 이미지를 래핑하는 뷰의 프레임을 설정하기 때문에 원하는 높이로 이미지가 세로로 늘어나지 않는 문제였습니다. 그러므로 수직으로 펴는 일은 없습니다. 연결된 다른 질문은 단순히 필드 색상을 변경하는 것과 다름니다. 두 개의 구별되는 질문과 서로 겹쳐 질 가능성이있는 질문이 있습니다. – bgoers

답변

4

코드에서 볼 수있는 유일한 문제점은 searchFieldImage라는 var을 만들고 searchField로 사용한다는 것입니다.

이 코드는 나를 위해 일한 :

UIImage *searchFieldImage = [[UIImage imageNamed:@"input_15x40.png"] 
       resizableImageWithCapInsets:UIEdgeInsetsMake(7, 19, 7, 20)]; 

[searchBar setSearchFieldBackgroundImage:searchFieldImage forState:UIControlStateNormal]; 

-

편집 : 이미지의 높이 뷰의 높이를 설정하기 때문에 높이에서

, 이미지 스트레칭하지 않습니다 그것을 감싼다.

+0

편집 했으니 까 미안하다. P 이미지를 늘리려고 했습니까? 어떤 이유로이 코드가 수평으로 펴지지만이 코드가 실행될 때 수직이 아닙니다. 테스트 목적을 위해이 코드를 viewDidLoad : UIViewController 배치했습니다 - 그게 문제가 될 수 있을까요? – bgoers

+0

나는 배경이 높이에서 이미지에 맞게 조정된다고 생각합니다. 죄송합니다. 마지막 줄이 혼란 스럽습니다. Bar가 가로로 늘어져 있고 세로로 늘어져 있지 않다는 것을 알았습니다. 그런 다음 가로 늘이기가 필요하다고 생각합니다. 수직으로 늘어나지 않는 이미지가 아닙니다. – ggrana

+0

아, 젠장. 글쎄요, 제가 여기서 운명 지은 것처럼 보입니다. 수직 높이를 확장 할 방법이 있는지 확신하지 못합니다. 검색 막대의 UITextField 하위 뷰를 추출하고 프레임을 조정하려고했지만 작동하지 않는 것 같습니다. – bgoers

0
let searchTextField = searchBar.valueForKey("_searchField") as? UITextField 
searchTextField?.backgroundColor = UIColor.redColor()