2009-09-14 46 views
17

Tôi có chế độ xem được xây dựng thông qua IB, có chế độ xem văn bản và nút trên đó. Khi màn hình hiển thị, tôi muốn bàn phím được hiển thị.Làm cách nào để đặt trình theo dõi linh hoạt?

Tôi đã cố gắng đặt chế độ trả lời đầu tiên trong didViewLoad nhưng điều đó không hiệu quả.

Tôi có một IBOutlet được kết nối với textView và trình truy cập có liên quan.

+0

Kiểm tra liên kết này: http://juliuspaintings.co.uk/cgi-bin/paint_css/animatedPaint/004-TextFieldApp.pl này rất có thể có câu trả lời của bạn. – Dyn

Trả lời

45

Có vẻ như bạn có thể đã vô tình viết sai chính tả tên phương thức didViewLoad thay vì viewDidLoad. Tất cả các bạn nên cần có (giả sử IBOutlet bạn được kết nối trong IB) là như sau:

[textView becomeFirstResponder]; 
+4

Đó phải là [textView.window makeFirstResponder: textView]; – voidref

+4

@voidref Bạn sẽ đúng nếu câu hỏi là về Cocoa nhưng nó không phải, đó là về Cocoa touch. Không có phương thức 'makeFirstResponder:' trong 'UIWindow'. – jlehr

14

Tôi biết điều này được gắn thẻ như cacao cảm ứng nhưng điều này được xếp hạng cao trong Google và tôi chạy vào rắc rối với việc sử dụng -becomeFirstResponder trên OS X; nó không làm gì cả. Từ tài liệu NSResponder,

Sử dụng phương pháp NSWindow makeFirstResponder:, không phải phương pháp này, làm cho đối tượng trở thành người trả lời đầu tiên. Không bao giờ gọi trực tiếp phương thức này.

Vì vậy, trên OS X sử dụng,

[[myView window] makeFirstResponder:myView]; 
Các vấn đề liên quan