2010-08-19 3 views
9

안녕하세요. iPad의 Safari 앱에서 사용할 수있는 Google 검색 필드처럼 보이게 UITextField를 가져 오려고합니다. 필드의 목적은 동일합니다 (검색 창).어떻게 더 둥근 UITextField 만들 수 있습니까? iPad의 Safari 검색 필드와 마찬가지로

나는 UISearchBar를 사용할 수 있지만 돋보기 아이콘과 배경을 없애기 위해 hackish 코드를 사용해야한다는 것을 알고 있으며 나는 그것을 원하지 않는다.

사과가 검색 창으로 사용하는 TextField가있는 이미지를 첨부하고 있습니다. 이 스크린 샷의 검색 필드처럼 보이게하고 동작하도록 UITextField를 수정하려면 어떻게해야합니까? alt text

UITextField의 레이어 roundedCorners 속성을 수정하려고했지만 예상대로 작동하지 않습니다.

어떤 도움을 주셔서 감사합니다.

감사합니다.

+0

roundedCorners으로 주위를 재생하는 동안, 당신이 추가했는지 확인 않았다 quartzcore 프레임 워크뿐만 아니라 필요한 헤더 파일을 ViewController 하위 클래스로 가져 왔습니까? – samsam

답변

-4

원하는 둥근 모서리가있는 그래픽을 사용하고 상단에 텍스트 뷰를 배치하십시오.

+0

응답 해 주셔서 감사합니다.하지만 사과가 그 기능을 구현할 때 뭔가를 사용했다고 생각하지 않습니다. –

0

왜 필요한 입력 필드를 별도로 만들고 실제 textField 컨트롤 아래에 배치하여 속임수를 사용하지 않는 것이 좋을까요? 그러나 투명하게 만들기 위해 배치 한 textField의 색상을 조작해야합니다.

17

모든 UIView- 하위 클래스에서 모서리 반경을 설정할 수 있습니다.

  1. 이있는 viewDidLoad/viewWillAppear에서 당신의 선택
  2. 의 UITextField에 인스턴스 (또는 UITextField에 다른 장소에 액세스 할 수있는 곳
  3. 이 (당신의 UIViewController 하위 클래스에서 #import <QuartzCore/QuartzCore.h>를 추가 프로젝트에 QuartzCore.framework 추가 이
+0

둥근 모서리를 얻는 가장 좋은 방법이지만, 그가 보여주고있는 것과 똑같은 모양과 느낌을 얻지는 못합니다. 특히, 그림자. –

3

설정 배경 prope 좋은 모습이 될 때까지 allready CornerRadius를 값으로 주변에 전화를 [yourTextField.layer setCornerRadius:14.0f];

  • 플레이를 인스턴스화 이와 같은 적절한 이미지의 UITextField의를 더럽 : alt text

  • +0

    이 경우 정렬을 오른쪽 또는 왼쪽으로 설정하면 텍스트가 측면에 너무 가까이 서게됩니다. – Shmidt

    10

    이 code.It 아래를 사용하여 나를 위해 작동합니다

    searchField= [[UITextField alloc] initWithFrame:CGRectMake(0,0,150,31)]; 
    searchField.delegate = self; 
    searchField.autoresizingMask = UIViewAutoresizingFlexibleWidth; 
    searchField.textColor = [UIColor colorWithRed:102.0/255 green:102.0/255 blue:102.0/255 alpha:1.0]; 
    searchField.textAlignment = UITextAlignmentLeft; 
    searchField.font = [UIFont fontWithName:@"Helvetica" size:15]; 
    searchField.autocorrectionType = UITextAutocorrectionTypeNo; 
    searchField.contentVerticalAlignment =UIControlContentVerticalAlignmentCenter; 
    searchField.clearsOnBeginEditing = NO; 
    searchField.autocapitalizationType = UITextAutocapitalizationTypeNone; 
    searchField.autocorrectionType = UITextAutocorrectionTypeNo; 
    searchField.keyboardType = UIKeyboardTypeURL; 
    searchField.returnKeyType = UIReturnKeySearch;   
    searchField.clearButtonMode = UITextFieldViewModeWhileEditing; 
    searchField.rightViewMode = UITextFieldViewModeUnlessEditing; 
    searchField.layer.cornerRadius = 17; 
    [email protected]"Google Search"; 
    searchField.borderStyle = UITextBorderStyleRoundedRect;//To change borders to rounded 
    searchField.layer.borderWidth = 1.0f; //To hide the square corners 
    searchField.layer.borderColor = [[UIColor grayColor] CGColor]; //assigning the default border color 
    UIBarButtonItem *searchFieldItem = [[UIBarButtonItem alloc] initWithCustomView:searchField]; 
    
    관련 문제