Xcode 6: Bàn phím không hiển thị trong trình giả lập


674

Bàn phím không hiển thị khi tôi chạy trình giả lập và nhấp vào UITextView. Làm cách nào để bật lại bàn phím?

Nó đã từng hoạt động nhưng bây giờ thì không - tôi không biết những gì tôi có thể đã vô tình nhấp vào ... bất kỳ lời khuyên nào cũng sẽ được đánh giá cao!


93
Chỉ cần nhấn ⌘K nó sẽ chuyển đổi bàn phím.
yazh

2
Bạn phải vô tình vô hiệu hóa nó khi bạn đang cố gắng "làm sạch" mã của mình. :)
Gellie Ann


1
Đúng vậy, vấn đề này đã xuất hiện sau khi tôi dọn dẹp cửa sổ Terminal của mình :) Cảm ơn rất nhiều về tiền boa!
Nekto

3
Xcode 8 => + Shift + K
Daniel Springer

Câu trả lời:


1196

Tôi gặp vấn đề tương tự. Giải pháp của tôi là như sau:

  1. Trình mô phỏng iOS -> Phần cứng -> Bàn phím
  2. Bỏ chọn "Kết nối bàn phím phần cứng"

Của tôi đã được kiểm tra vì tôi đang sử dụng bàn phím mac của mình, nhưng nếu bạn chắc chắn rằng nó không được kiểm tra thì bàn phím iPhone sẽ luôn xuất hiện.


6
Trớ trêu thay bàn phím của họ ở đó, nếu bạn thay đổi hướng màn hình, bạn có thể thấy nó bị ẩn ngoài màn hình ở góc dưới cùng khi khung điều chỉnh kích thước và hiển thị nó trong tích tắc ... vì vậy khi Apple bật bàn phím phần cứng, họ thực sự chỉ cần trượt Bàn phím chỉ tắt màn hình để nó vô hình. Thật thú vị, tôi cho rằng họ làm điều này để một UIInputAccessoryViewmàn hình vẫn hiển thị ở dưới cùng của màn hình.
Albert Renshaw

4
@AlbertRenshaw Bàn phím của họ luôn ở đó. bất kỳ ios. Nó chỉ là dưới giới hạn xem. Bạn có thể chơi xung quanh với các khung nhìn và bạn sẽ tìm thấy nó ở đó! Hoạt hình trượt lên chỉ là kéo nó lên :)
João Nunes

7
Trên thực tế, đây thực sự là một lỗi: khi tôi bỏ chọn, Connect Hardware Keyboardtôi không thể gõ bằng bàn phím máy Mac. Trong tiền iOS 8, nó không "mô phỏng bàn phím phần cứng", nó chỉ cho phép bạn gõ thêm bằng máy Mac.
pkamb

2
@AlbertRenshaw ở đâu đó trong tài liệu iOS6 (tham khảo lý do tại sao DidUnload bị xóa) apple đề cập rằng cấu trúc UIView không chiếm nhiều bộ nhớ. Ngoài ra có bàn phím trong RAM không phải là một vấn đề. Bạn sẽ sử dụng nó nhiều lần. Đó là tốc độ tăng, quan trọng hơn mức tăng RAM!
João Nunes

2
Để khắc phục sự cố này VÀ vẫn có thể gõ bằng bàn phím thực của bạn, hãy xem câu trả lời của Aidan Melen
DonnaLea

345

Trong khi thử nghiệm trong trình giả lập ios8 beta, bạn có thể chuyển đổi giữa "bàn phím phần mềm" và "bàn phím phần cứng" bằng +K .

CẬP NHẬT : Kể từ iOS Simulator 8.0, phím tắt là + +K .


8
thực sự câu trả lời của bạn rất hay và lý do duy nhất nó không hiển thị là vì nó được đặt thành bàn phím mềm và cmd + K sẽ chuyển đổi bàn phím .. điều này trả lời câu hỏi và thật tuyệt .. tôi ước tôi có thể cung cấp cho bạn + 1000
Nour1991

2
OMG, tôi chỉ dành một giờ cho suy nghĩ này mà trở thành FirstResponder không hoạt động!
smileBot

7
⌘⇧K In Simulator v8.0 (550.1)
beryllium

2
cái này hiệu quả với tôi ... nhưng tôi không nhớ là mình đã nhấn ⌘K để tắt bàn phím giả lập ....
iphondroid

Điều đó đã giúp rất nhiều. Cảm ơn
Dhaval 17/2/2016

88

Trình mô phỏng -> Phần cứng -> Bàn phím -> Chuyển đổi Bàn phím phần mềm sẽ giải quyết vấn đề này.

Trình mô phỏng-> Phần cứng-> Bàn phím-> Chuyển đổi Bàn phím phần mềm


3
Câu trả lời đơn giản và tốt nhất .. + 1
Gajendra K Chauhan

Câu trả lời của bạn cứu tôi :) Bình chọn +
core114

55

Đây có vẻ là một lỗi trong iOS 8. Có hai cách khắc phục sự cố này:

  1. Chuyển đổi giữa bàn phím giả lập và bàn phím MacBook bằng phím tắt Command+K .

  2. Bàn phím Reattach để giả lập:

    a. Mở Trình mô phỏng

    b. Chọn Phần cứng -> Bàn phím

    c. Bỏ chọn và sau đó chọn ' Kết nối bàn phím phần cứng '

Ảnh chụp màn hình cho bước 2

HOẶC chỉ cần nhấn Shift+ Command+K phím tắt


@ Mẹ: Chào mừng ... bạn thân!
Jayprakash Dubey

Tôi đồng ý rằng đây có vẻ là một lỗi, ít nhất là đối với Xcode 8.3.3. Sau khi tôi gọi endEditing, bàn phím không liên tục xuất hiện ngay cả sau khi tôi bật bộ điều khiển xem và tải lại . Khi tôi nhận thấy rằng hành vi không liên tục, nó trở nên khá rõ ràng rằng đó không phải là điều mà mã của tôi đang làm (đó là trường hợp 99% thời gian - hầu hết khi tôi nghĩ đó là lỗi của Xcode, đó thường là điều tôi đang làm!). Trong trường hợp này, tôi khá chắc chắn đây là lỗi Xcode.
James Toomey

37

Để bật / tắt bàn phím giả lập,

⌘ + K (Ctrl + k)

Để tắt đầu vào từ bàn phím của bạn,

Trình mô phỏng iOS -> Phần cứng -> Bàn phím -> Bỏ chọn "Kết nối bàn phím phần cứng"


29

Bạn có thể sử dụng: + +K để hiển thị bàn phím trên trình giả lập.



14

Để bật / tắt bàn phím giả lập: nhấp vào + + K để hiển thị bàn phím trên trình giả lập, nhấp lại để tắt (ẩn) bàn phím.


13

Sẽ rất khó để nói nếu có bất kỳ vấn đề nào với mã của bạn mà không kiểm tra nó, tuy nhiên điều này xảy ra với tôi khá nhiều trong (Phiên bản 6.0 (6A216f)). Tôi thường phải đặt lại Nội dung và Cài đặt của trình giả lập và / hoặc khởi động lại xCode để nó hoạt động trở lại. Hãy thử những điều đó và xem nếu điều đó giải quyết vấn đề.


thiết lập lại là giải pháp!
kirander

7

Nếu bàn phím không tự động hiển thị trong trình giả lập, chỉ cần nhấn [Command + K]

hoặc Phần cứng -> Bàn phím -> Chuyển đổi Bàn phím phần mềm


5

Để khắc phục sự cố, hãy làm theo

  1. Thoát khỏi Xcode và giả lập
  2. Nhấn 'lệnh + shift + g' .. nó sẽ mở hộp thoại vào hộp thư mục.
  3. gõ vào thư viện ~ / Thư viện / Tùy chọn trong hộp thoại này để chuyển đến thư mục tùy chọn của bạn.
  4. Xóa xóa com.apple.iphonesimulator.plist 'trong thư mục này
  5. Làm xong. Com com.apple.iphonesimulator.plist 'sẽ được tạo lại khi bạn bắt đầu giả lập lại.

Ngoài ra, bạn cũng có thể làm điều này chỉ với một lệnh.

Mở thiết bị đầu cuối và bắn - 1. rm ~ / Library / Preferences / com.apple.iphonesimulator.plist

Điều này sẽ thực hiện các mẹo trong một bước! Chỉ cần đảm bảo bạn thoát Xcode và giả lập trước khi chạy này.


Cảm ơn. Bàn phím phần mềm Toggling không làm việc cho tôi. Cái này đã làm!
TomV

Câu trả lời chính xác. + mười tỷ.
KeithTheBiped

3

trong viewDidLoad thêm dòng này

yourUiTextField.becomeFirstResponder()

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.