Đối với hằng số UIKeyboardFrameEndUserInfoKey
, trong các tài liệu của Apple nó nói:Chuyển đổi UIKeyboardFrameEndUserInfoKey để xem hoặc Window Tọa
Những tọa độ không đưa vào tài khoản bất kỳ luân chuyển các yếu tố áp dụng cho nội dung của cửa sổ như là kết quả của định hướng giao diện thay đổi. Do đó, bạn có thể cần phải chuyển đổi hình chữ nhật sang cửa sổ tọa độ (sử dụng phương thức convertRect: fromWindow:) hoặc để xem các tọa độ (sử dụng phương thức convertRect: fromView:) trước khi sử dụng nó.
Vì vậy, nếu tôi sử dụng [view1 convertRect:rect fromView:view2]
tôi sẽ chèn gì cho các thông số trên để có được nó để chuyển đổi các giá trị luân chuyển một cách chính xác? tức là:
view1 =? rect =? (khung bàn phím tôi giả định) view2 =?
Đã thử một số thứ và nhận một số nội dung thú vị.
Hy vọng câu trả lời dưới đây sẽ giúp. Trước đây tôi cũng đã sử dụng 'conversionRect', nhưng mã bên dưới là sạch hơn, IMO. – memmons
Rõ ràng là tôi không đồng ý với @Answerbot về những gì "sạch hơn" :) BTW mã tôi hiển thị đến từ cuốn sách của tôi, mà bạn có thể muốn tham khảo về vấn đề này: http://www.apeth.com/iOSBook/ ch23.html # _summoning_and_dismissing_the_keyboard – matt
@matt Nội dung hay. Tôi đã đọc một trong những cuốn sách của bạn và thực sự thích nó. Lý do tôi ngừng sử dụng bằng cách sử dụng 'conversionRect' là bởi vì nó chỉ thực sự hoạt động tốt bên trong một bộ điều khiển xem nơi bạn có' myView' đại diện cho khung nhìn trên cùng. Tuy nhiên, nếu bạn đang nghe các thông báo từ bên trong một lớp con 'UITextField', việc chuyển đổi bằng cách sử dụng self không đặc biệt hữu ích. – memmons