2010-08-20 44 views

Trả lời

17

Tôi không chắc chắn những gì bạn muốn thực hiện, nhưng có thể điều này có thể giúp bạn: Đăng ký với NSNotificationCenter để nhận được UIKeyboardWillHideNotification và/hoặc UIKeyboardDidHideNotification.

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(myKeyboardWillHideHandler:) 
              name:UIKeyboardWillHideNotification 
              object:nil]; 

... 

- (void) myKeyboardWillHideHandler:(NSNotification *)notification { 
    NSLog(@"Keyboard wants to hide. What a coward."); 
} 
+0

thaaaaank bạn hoạt động tốt nhưng thay vì UIKeyboardWillHideNotification tôi sử dụng sẽ hiển thị ... hoạt động tuyệt vời đối với tôi – Momi

0

đặt này để viewDidLoad

// register to track event when user presses hide keyboard button on bottom right cornor for iPAD 
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textFieldShouldReturn:) name:UIKeyboardWillHideNotification object:nil]; 

và điều này sẽ làm cho phương pháp - (BOOL)textFieldShouldReturn:(UITextField *)textField; đại biểu của bạn để gọi khi bàn phím nút xuống được nhấn trong iPad.

0

[[NSNotificationCenter defaultCenter] addObserver: tự chọn: @selector (textFieldShouldReturn :) tên: UIKeyboardWillHideNotification object: nil];

Điều này thực sự gặp sự cố khi đang di chuyển.

Nhưng nếu bạn gọi một phương thức tùy chỉnh, như: [[NSNotificationCenter defaultCenter] addObserver: tự chọn: @selector (myCustomeMethodToResignTextFieldResponder) tên: UIKeyboardWillHideNotification object: nil];

Sau đó, nó sẽ chỉ làm việc tốt .. :-)

0

với Javascript

Tôi tìm thấy một workaroud cho iPad iOS7. Tôi sẽ kiểm tra trên IOS8 để đảm bảo nó hoạt động. Vì vậy, về cơ bản tôi tạo ra một người nghe trên mỗi sự kiện FOCUSOUT (cho tất cả các văn bản của tôi) và tôi gọi chức năng của tôi.

Nó sẽ kích hoạt khi bạn mở bàn phím và khi bạn đóng "bàn phím". Nó không kích hoạt khi bạn chọn một trường hoặc nút văn bản khác, bởi vì nó nhắm vào null. Nếu bạn sử dụng kết hợp với keydown, bạn có thể lưu nhiều giá trị và gọi hàm gửi của bạn chỉ khi bạn thả bàn phím.

document.addEventListener('focusout', function(e) { 
     if (e.relatedTarget == null){ 
      alert("close keyboard without click on something else"); 
      callYourFunction(); 
      } 
    }); 
Các vấn đề liên quan