Tôi đang cố gắng sử dụng bàn phím tùy chỉnh trong ứng dụng của mình, nhưng tôi đang gặp sự cố khi cố gắng hạn chế nó cho một UITextField cụ thể.Cách tìm hiểu UITextField đã gây ra UIKeyboardWillShowNotification là gì?
Tôi dựa trên mã của mình trên this Xcode project (ban đầu được tìm thấy trên this blog). Mã đó thêm một UIButton tùy chỉnh (đại diện cho một 'dấu thập phân') vào khung nhìn bàn phím UIKeyboardTypeNumberPad. Nó làm điều đó bằng cách đăng ký UIKeyboardWillShowNotification và sửa đổi bàn phím khi nó xuất hiện.
Dự án Xcode đó hoạt động tốt, nhưng khi tôi thêm UITextField thừa, khóa tùy chỉnh cũng được đưa vào bàn phím cho trường văn bản đó, mặc dù tôi đã chọn loại bàn phím hoàn toàn khác cho trường văn bản đó.
tôi cố gắng đăng ký để chỉ nhìn thấy thông báo UIKeyboardWillShowNotification từ một đặc biệt UITextField, nhưng điều đó dường như không làm việc:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:exampleViewController.textField];
Tôi cũng đã cố gắng để kiểm tra các đối tượng bên trong NSNotification truyền cho keyboardWillShow, nhưng tiếc là nó đề cập đến bàn phím, không phải là điều khiển giao diện người dùng khiến bàn phím xuất hiện.
2009-10-21 19:50:22.205 Example[6302:207] NSConcreteNotification 0x321ebd0 {name = UIKeyboardWillShowNotification; userInfo = {
UIKeyboardAnimationCurveUserInfoKey = 0;
UIKeyboardAnimationDurationUserInfoKey = 0.300000011920929;
UIKeyboardBoundsUserInfoKey = NSRect: {{0, 0}, {320, 216}};
UIKeyboardCenterBeginUserInfoKey = NSPoint: {160, 588};
UIKeyboardCenterEndUserInfoKey = NSPoint: {160, 372};
}}
Tôi hiểu lầm giao diện addObserver? Chắc chắn phải có cách đăng ký thông báo từ một điều khiển giao diện người dùng cụ thể?
Có ai có bất kỳ đề xuất nào khác về cách đạt được điều này không?
tôi đặc biệt thiết lập UITextField khác để sử dụng các loại bàn phím khác nhau. Thật không may là mã 'bàn phím tùy chỉnh' sửa đổi bất kỳ bàn phím nào xuất hiện và tôi không thể tìm ra cách để phân biệt UITextField nào gây ra thông báo UIKeyboardWillShowNotification xảy ra. Tôi đã cập nhật bài đăng để làm rõ thêm một chút. –