2015-05-23 22 views
7

Tôi có một kiểu nhập liệu tùy chỉnh cho một trường văn bản cụ thể và nó hoạt động tốt. Tuy nhiên, tôi không thể phân biệt cách loại bỏ chế độ xem và nhận lại bàn phím thông thường. (Tôi có một nút SWAP ngay bên cạnh TextField.) Tôi đã thử thiết lập inputView của textfield thành nil, nhưng điều đó không làm gì cả.Hoán đổi chế độ xem đầu vào tùy chỉnh cho bàn phím chuẩn trong iOS

Tôi không cần bàn phím tùy chỉnh đầy đủ, nhưng tôi cần nhiều hơn chế độ xem Phụ kiện phía trên bàn phím, đó là lý do tại sao tôi đang thử tuyến đường này. Tôi cần khoảng 20 nút tùy chỉnh ngoài bàn phím thông thường và tôi không thích ý tưởng về chế độ xem Phụ kiện lớn chiếm nhiều không gian.

Tôi cũng không muốn người dùng ban đầu cài đặt bàn phím tùy chỉnh đầy đủ trước khi có thể sử dụng ứng dụng.

Cảm ơn bạn rất nhiều vì bất kỳ đề xuất nào.

Trả lời

9

Tôi nghĩ rằng có thể bạn sẽ phải làm điều này:

  1. Gọi resignFirstResponder trên UITextField
  2. Sau khi kết thúc hoạt hình, thiết lập của bạn inputView-nil
  3. Gọi becomeFirstResponder trên các lĩnh vực văn bản

Thời lượng hoạt ảnh bàn phím được gửi trong userInfo từ điển y trên các thông báo trình bày bàn phím.

+0

Cảm ơn bạn rất nhiều! Nó cũng bật ra được dễ dàng để nắm bắt thông báo để người dùng chỉ có thể trao đổi bàn phím và đầu vào tùy chỉnh trong và ngoài theo ý muốn. Hoàn hảo! –

4

Ngoài các câu trả lời được chấp nhận, bạn có thể sử dụng reloadInputViews() (và điều này ít có khả năng chịu đựng bất kỳ ổn định hình ảnh động phát sinh từ việc resignFirstResponder, becomeFirstResponder gọi):

  1. yourTextField.inputView = nil;
  2. yourTextField.reloadInputViews();

Đây là thông tin thêm trong số Apple's Docs.

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