2014-05-13 15 views
5

Tôi bắt đầu làm việc với text fields và tôi muốn triển khai chức năng với tính năng tự động hoàn thành tùy chỉnh.Triển khai trường văn bản tự động hoàn thành Mục tiêu C

Trong rất nhiều các blog và các câu trả lời, thực hiện nó với UITables để hiển thị autocomplete, nhưng tôi không cần điều này, tôi cần phải tạo ra một autocomplete như một hàm iPhone, nơi hiển thị một cửa sổ pop ra với bộ lọc nhưng chỉ với mảng từ của tôi.

Ví dụ:

my_array = @{"apple","banana","pear","orange","berry"} 

Khi tôi gõ "ứng dụng" trường văn bản chỉ cần cho tôi "quả táo", nhưng không hoàn thành văn bản trong text field, sẽ hiển thị cửa sổ pop up với autocomplete.

Một cái gì đó như thế này nhưng chỉ với mảng của tôi.

enter image description here

+1

Check-out https://github.com/hoteltonight/HTAutocompleteTextField – Milo

+0

nhờ cho câu trả lời của bạn, nhưng nó thư viện hoàn thành từ trong textfield, và tôi cần điều đó các chức năng đề nghị một từ và người dùng quyết định xem có sử dụng hay không – user2720097

+0

Ví dụ bạn đã hiển thị là Tự động sửa mặc định đi kèm với iOS. Tôi không tin rằng nó có thể tùy chỉnh mà không vi phạm hướng dẫn của Apple. – Milo

Trả lời

5

Bạn có thể xây dựng hành vi này cho mình bằng cách sử dụng UITextFieldDelegate phương pháp (thực hiện các đại biểu trong bạn UIView

@interface someViewController : UIViewController <UITextFieldDelegate> 

Bằng cách này bạn sẽ có được quyền truy cập vào bất cứ điều gì người dùng đã gõ vào

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 

Nơi bạn có thể so sánh nó với các mục trong mảng của bạn và d isplay khác UIView hoặc nút tùy chỉnh khi được chọn điền vào trường văn bản của bạn.

Đừng quên nói với bạn textfield người đó là đại biểu nên, có lẽ trong phương pháp viewDidLoad của bạn, nhưng cũng có thể được thực hiện trong giao diện xib

myTextField.delegate = self; 

Tôi biết điều này dường như mất thời gian nhưng nó sẽ vô cùng hài lòng. Đây là apple doc cho số UITextViewDelegate

+0

Cảm ơn câu trả lời, cuối cùng, tạo một UIView tùy chỉnh và tôi đã làm tất cả các chức năng trong phương thức shouldChangeCharactersInRange – user2720097

1

Tôi đã triển khai trường văn bản hoàn toàn tự động tùy chỉnh vài ngày trước và hướng dẫn raywenderlich hữu ích.

http://www.raywenderlich.com/336/auto-complete-tutorial-for-ios-how-to-auto-complete-with-custom-values

Bạn có thể cần phải thực hiện xem bảng của riêng bạn để làm cho nó trông giống như màn hình bạn đính kèm. Các hướng dẫn ngắn sẽ cung cấp cho bạn một ý tưởng làm thế nào nó nên được thực hiện. Tôi sẽ gửi mã của tôi vào ngày mai nếu bạn muốn.

-3

Hãy thử điều này

textboxName.autocapitalizationType=UITextAutocapitalizationTypeNone; 
+2

làm thế nào nó được cho là câu trả lời, anh ta muốn tự động hoàn thành không phải về autocapitalizationType –

Các vấn đề liên quan