2009-07-24 5 views
0

NSSearchField의 모양을 어떻게 바꿀 지 궁금합니다. NSSearchField를 하위 클래스로 분류한다는 것을 의미하지만, 어떻게해야 할 지 모릅니다. 그것은 내가 바라는 방식입니다. 아래에서 내가 바라는 방식과 현재 보이는 방식을 볼 수 있습니다.NSSearchField의 스타일 변경

alt text http://snapplr.com/snap/3f1r

어떻게 코드를 사용하여 (왼쪽)는 다음과 같이 만들 것? 그 엠보싱을 추가하고 내면의 그림자를 줄이기 위해 찾고 있습니다.

답변

3

사용자 지정 NSSearchFieldCell 하위 클래스를 만들고 drawWithFrame :을 재정의 한 다음 해당 셀을 사용하도록 NSSearchField를 설정해야합니다. 사용자 정의 테두리를 코드에 그리거나 가로로 바둑판 식으로 배열하는 중심에 엔드 캡 이미지와 배경 이미지를 사용할 수 있습니다.

여기에 NSSearchField가 표준 컨트롤이되기 전에 검색 필드처럼 보이는 사용자 지정 NSTextField를 만들기위한 후자의 접근법을 사용하는 이전 코드 an example이 있습니다.

+0

아, 알겠습니다. 어떻게 코드로 사용자 정의 테두리를 그릴 수 있습니까? – Joshua

+0

코코아 드로잉 가이드보기 : http://developer.apple.com/documentation/Cocoa/Conceptual/CocoaDrawingGuide/ –

+0

엠보싱 효과를주고 그림자를 제거하려면 어떤 코드가 필요합니까? – Joshua

-1

NSSearchField의 크기를 늘리려면 하위 클래스로 만들 필요가 없습니다. 프로그래밍 방식으로 검색 필드를 만들고 initWithFrame 중에 원하는 크기를 지정하면됩니다. 당신이 다른 모습을 원하는 경우,이를 지정,

mySearchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0,44,320,70)]; 
    mySearchBar.autocorrectionType = UITextAutocorrectionTypeNo; 
    mySearchBar.autocapitalizationType = UITextAutocapitalizationTypeNone; 
    mySearchBar.showsCancelButton = NO; 
    mySearchBar.delegate=self; 
    [self.view addSubview:mySearchBar]; 

또는;

이 예는 아래와 같습니다 내가 너를 도울 수있어.

+0

가 나는 그것이 갖고 싶어 돋을 새김 및 그림자의 더 적은이 있고 싶다, 나가 의미하는 무슨을보기 위하여 그림을 본다. – Joshua

+1

op는 NSSearchField (Mac)가 아닌 UISearchBar (iOS)를 말합니다. – strange

0

솔직히 말해서 왼쪽의 필드가 두 번 치게됩니다. 따라서 drawRect:을 우선 적용하여 [super drawRect:]을 두 번 보낼 수도 있습니다. ☺

(당신이 그들에 텍스트 두 필드를 보여줄 수있는 경우 실제 테스트가 될 것이다. 두 번 쳤다 텍스트가 발견 정말 쉽고, 확실히 당신이 원하는 것이 아닙니다.)

+0

엠보싱과 그림자 제거에 필요한 코드는 무엇입니까? 파이어 폭스의 검색 필드가 이와 비슷하게 보입니다. 파이어 폭스에 대한 소스 코드가 있습니까? – Joshua