2011-01-20 46 views
5

thể trùng lặp:
UITableView and keyboard scrolling issueiPhone: Khối bàn phím màn hình

Tôi đã có một màn hình trong đó có một số lĩnh vực văn bản (UITextField) để thu thập thông tin từ người sử dụng mà kết thúc việc lên hầu hết màn hình. khi người dùng chọn một trường, bàn phím mềm xuất hiện (như mong đợi) nhưng nó sẽ bao phủ các trường xuất hiện tiếp tục xuống trên màn hình. Để có được những lĩnh vực đó, người dùng phải đóng bàn phím và chọn chúng, và khi làm như vậy, trường được bao phủ lại và người dùng không thể nhìn thấy những gì họ đang gõ.

Tôi đã cố gắng gói các trường văn bản trong một UIScrollView, hy vọng rằng khi bàn phím chiếm không gian trên màn hình, tôi có thể cuộn phần uppper của màn hình xuống các trường văn bản khác, nhưng điều này không hoạt động.

Tôi hy vọng sẽ nhận được hành vi cuộn này. Có ai biết làm thế nào để làm điều đó?

-TIA

Trả lời

4

Có câu trả lời hay cho một câu hỏi tương tự và một số mã mẫu here.

Về cơ bản, bạn đăng ký để nhận UIKeyboardWillShowNotificationUIKeyboardWillHideNotification, sau đó bạn cuộn chế độ xem theo cách thủ công để bù lại.

+0

Đó là một bài viết tuyệt vời, nhưng tiếc là nó tập trung vào UITableView và thats không phải những gì tôi đang sử dụng ở đây. Tôi không chắc làm thế nào tôi sẽ thích nghi với một cái nhìn bình thường. – mtmurdock

+0

Tôi đã chấp nhận câu trả lời này vì nó là chi tiết nhất, nhưng nó thực sự là câu trả lời này và câu trả lời từ Brian đã giúp tôi tìm ra những việc cần làm. – mtmurdock

9

Bạn cần điều chỉnh chiều cao của chế độ xem cuộn khi bàn phím xuất hiện sao cho bàn phím không trùng lặp. Xem Managing the Keyboard trong hướng dẫn lập trình.

+0

Xem phần "Di chuyển nội dung nằm dưới bàn phím". Nó có mã nguồn với nó – bryanmac

2

Đây là khung kéo và thả mà tôi sử dụng trong các dự án của mình vì tôi đã gặp phải vấn đề này rất nhiều. Đó là một lớp con UIScrollView và hỗ trợ các chế độ lấy nét tự động khác nhau và một loạt các bit và bob khác.

https://github.com/mackross/GTKeyboardHelper

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