Tôi nhận được TextView
được cho là hiển thị khi nhấn nút và cho phép người dùng nhập văn bản qua bàn phím.Sự cố khi quay trở thànhFirstResponder không hiển thị bàn phím cho một số người dùng
- (IBAction) changeName {
changeNameBtn.hidden = YES;
backBtn.hidden = YES;
usernameLabel.hidden = NO;
inputTextField.hidden = NO;
[inputTextField becomeFirstResponder]; // to show keyboard
}
Điều này làm việc tốt cho hầu hết chúng ta.
Nhưng Bàn phím không hiển thị cho một số người thử nghiệm của tôi, tại vị trí địa lý từ xa. Làm thế nào để rắc rối bắn này? Và những gì có thể là lý do cho các hành vi khác nhau của các thiết bị của chúng tôi? Nó hoạt động tốt cho tôi và mọi người khác. Tất cả chúng ta đều sử dụng cùng một thiết bị (iPod, iOS 4.1 - 5.1).
Điều đầu tiên tôi đã cố gắng đã không làm việc:
Tôi đoán rằng inputTextField đã làm trong một cách nào đó không trở thành có thể nhìn thấy trong thời gian, trước khi becomeFirstResponder
đã bị sa thải, vì vậy tôi thêm setNeedsDisplay
như tôi nghĩ rằng sẽ buộc một bản cập nhật .
[inputTextField setNeedsDisplay];
[inputTextField becomeFirstResponder];
Second điều tôi cố gắng không làm việc:
if([inputTextField canBecomeFirstResponder]){
[inputTextField becomeFirstResponder];
}
Thứ ba điều tôi cố gắng là một cách giải quyết, đòi hỏi người sử dụng không may mắn để nhấn trên sân:
- (IBAction) inputTextFieldTouch {
[inputTextField becomeFirstResponder];
}
Cách giải quyết này hoạt động, nhưng phải có cách tốt hơn. Hãy khai sáng cho tôi về những gì tôi đang làm sai! :) Và làm thế nào để tiếp cận các vấn đề như thế này mà không thể tự sao chép nó?
thực sự hoạt động tốt hơn câu trả lời, được đánh dấu chính xác. –
tốt hơn, như thế nào, Ilya? – JOG