Đầu tiên tôi đã có một bản nghe UIViewController cho thông báo UIKeyboardWillShow để điều chỉnh màn hình cho bàn phím. Nhưng mỗi khi tôi thay đổi bàn phím biểu tượng cảm xúc, thông báo không được gọi.UIKeyboardWillChangeFrame Thông báo không được gọi bằng bàn phím biểu tượng cảm xúc
Vì vậy, tôi đã thay đổi để thông báo UIKeyboardWillChangeFrame như thế này
NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardChanged(notification:)), name: NSNotification.Name.UIKeyboardWillShow, object: nil)
Có vẻ như để làm việc tốt nếu tôi chỉ cần thay đổi để biểu tượng cảm xúc bằng cách khai thác kiểu bàn phím.
Tuy nhiên, nếu tôi nhấn và giữ loại bàn phím để chọn (bàn phím của tôi có nhiều ngôn ngữ) và chọn bàn phím biểu tượng cảm xúc, thông báo sẽ không được kích hoạt.
Bất cứ ai cũng có điều gì đó như thế này trước đây? Bất kỳ đề xuất?
Ứng dụng của tôi điều chỉnh màn hình dựa trên việc bàn phím có hiển thị hay không và nó hoạt động tốt khi bàn phím biểu tượng cảm xúc được chọn. Bạn có phiền khi hiển thị mã của mình không? – TNguyen
Tôi chỉnh sửa câu hỏi của mình @ TPN1994. Nhưng tôi thực sự chỉ cần thêm người quan sát và nó hoạt động tốt cho các trường hợp khác. Tôi nghĩ điều này có thể là một vấn đề trên iOS 11 bởi vì trên các thiết bị khác nó hoạt động tốt quá ...:/ – GustavoAzOl
nếu bạn đặt breakpoint/print statement bạn có thấy rằng nó luôn luôn là trường hợp nó không được gọi? Tôi nhớ tôi đã có một lỗi kỳ lạ ở đó 'UIKeyboardWillShow' hoặc' UIKeyboardWillHide' không được gọi mặc dù tôi đang quan sát chúng. Thật không may, tôi không thể nhớ nó là cái gì. Tuy nhiên, việc đăng toàn bộ mã có thể giúp ích. – TNguyen