2010-02-16 26 views
45

Tôi có một bảng rất đơn giản và khi tocuh một tế bào nó sẽ mở ra một cái nhìn mới với một UITextfield. Tất cả những gì tôi muốn là bàn phím sẽ tự động mở ra, mà không cần người dùng phải chạm vào UITextfield.Làm thế nào để mở bàn phím tự động trên UITextField?

Tất cả được thực hiện trong Trình tạo giao diện, vì vậy tôi không chắc chắn cách tôi thực hiện việc này. Tôi đoán tôi cần phải tập trung vào một số điểm?

Cảm ơn

Trả lời

118

Để làm cho bàn phím để hiển thị ngay lập tức bạn sẽ cần phải thiết lập các lĩnh vực văn bản như trả lời đầu tiên sử dụng dòng sau:

[textField becomeFirstResponder]; 

Bạn có thể muốn đặt này trong viewDidAppear:.

+25

Tôi khuyên bạn nên -viewDidAppear :, kể từ này tạo ra hình ảnh động. Tạo hoạt ảnh trong -viewWillAppear có thể dẫn đến hiện vật đồ họa, vì bạn chưa có trên màn hình. Vì bạn gần như chắc chắn muốn nó mỗi khi bạn đến trên màn hình, -viewDidLoad có khả năng dư thừa (nó xảy ra mỗi lần xem được nạp từ đĩa, đó là phần không thể đoán trước, vì vậy không phải là một nơi tốt cho hiệu ứng hình ảnh). –

+0

Lời khuyên rất tốt. – jessecurry

+0

Bạn có cần nhập ủy nhiệm '' 'UITextViewDelegate''' khi thực hiện việc này và sau đó kết nối nó với đại biểu trong IB không? – Supertecnoboff

3

Swift 3 & 4:

override func viewDidAppear(_ animated: Bool) { 
    super.viewDidAppear(animated) 
    textField.becomeFirstResponder() 
} 
+0

Và để tránh tác dụng phụ kỳ lạ, cuộc gọi cũng' super.viewDidAppear (hoạt hình)' – Piidro

+0

Chắc chắn bạn là đúng! –

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