2010-08-19 11 views
9

HI Tôi đang cố gắng để có được một UITextField trông giống như lĩnh vực tìm kiếm google có sẵn trong ứng dụng safari trên iPad. Mục đích của trường sẽ giống nhau (hộp tìm kiếm).Làm cách nào tôi có thể tạo UITextField được làm tròn hơn? Giống như trường tìm kiếm trong Safari trên iPad

Tôi biết tôi có thể sử dụng UISearchBar nhưng tôi sẽ phải sử dụng mã hack để loại bỏ biểu tượng kính lúp và nền và tôi không muốn điều đó.

Tôi đang đính kèm hình ảnh với TextField được sử dụng bởi táo làm hộp tìm kiếm của họ. Làm thế nào tôi có thể sửa đổi một UITextField để xem và hành xử giống như trường tìm kiếm trong ảnh chụp màn hình này? alt text

Tôi đã cố gắng sửa đổi thuộc tính roundCorners của lớp UITextField nhưng điều này không hoạt động như mong đợi.

Bất kỳ trợ giúp nào được đánh giá rất nhiều!

Cảm ơn bạn!

+0

khi chơi xung quanh với roundedCorners, bạn có chắc chắn rằng bạn đã thêm khung lõi thạch anh cũng như nhập các tệp tiêu đề cần thiết vào lớp con ViewController của bạn? – samsam

Trả lời

-4

Sử dụng hình ảnh có các cạnh được làm tròn bạn muốn và sau đó định vị chế độ xem văn bản ở trên cùng.

+0

Cảm ơn bạn đã trả lời nhưng tôi không nghĩ rằng Apple đã sử dụng thứ gì đó như thế khi họ xây dựng chức năng đó. –

0

Tại sao bạn không thử lừa bằng cách tạo hình ảnh riêng biệt của trường nhập bạn cần và đặt nó dưới điều khiển textField thực. Tuy nhiên, bạn sẽ phải thao tác các màu của textField mà bạn đang đặt để làm cho nó trong suốt.

17

Bạn có thể đặt Angle-Radius trên bất kỳ UIView-Subclass nào.

  1. Thêm QuartzCore.framework để dự án của bạn
  2. thêm #import <QuartzCore/QuartzCore.h> trong UIViewController Subclass của bạn (nơi bạn có thể truy cập đến các trường hợp UITextField của sự lựa chọn của bạn
  3. trong viewDidLoad/viewWillAppear (hoặc bất kỳ nơi nào khác nơi UITextField của bạn được allready instantiated gọi [yourTextField.layer setCornerRadius:14.0f];
  4. chơi xung quanh với giá trị cornerRadius cho đến khi nó có vẻ tốt
+0

Mặc dù đây là một phương pháp tuyệt vời để nhận các góc tròn, bạn sẽ không có giao diện chính xác mà anh ấy đang hiển thị. Cụ thể, các bóng tối. –

3

Set nền prope rty của UITextField đến một hình ảnh thích hợp, như thế này: alt text

+0

Trong trường hợp này nếu căn chỉnh được đặt sang phải hoặc sang trái, văn bản sẽ đứng quá gần bên cạnh. – Shmidt

10

Sử dụng dưới đây code.It làm việc cho tôi:

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]; 
Các vấn đề liên quan