Tôi muốn bàn phím ảo iPhone xuất hiện được đặt trước thành một ngôn ngữ cụ thể (ví dụ tiếng Nga) khi người dùng nhấn vào một UITextField. Có cách nào để làm điều này trong mã Cocoa?Đặt ngôn ngữ bàn phím iPhone
Trả lời
Đây là cài đặt do người dùng xác định và rất tiếc, không thể gây nhầm lẫn với người lập trình.
Không chắc chắn lý do tại sao bạn muốn làm điều này - Tôi không nói tiếng Nga, và tôi sẽ hơi lo lắng nếu bàn phím tiếng Nga đột ngột xuất hiện.
Người dùng có thể chọn ngôn ngữ họ muốn trong ứng dụng Cài đặt iPhone của họ. Sau đó, xác định bàn phím nào xuất hiện khi họ nhấn vào trường văn bản.
Tôi muốn làm điều này vì tôi đang viết một ứng dụng học ngôn ngữ.
Điều gì làm cho thiết lập chọn bàn phím hiện tại trên iPhone thậm chí tệ hơn (ít nhất là đối với tôi) là nó không nhớ bàn phím cho mỗi ứng dụng. Vì vậy, nếu bạn thay đổi nó cho một ứng dụng, nó vẫn là bàn phím tương tự cho ứng dụng tiếp theo bạn mở.
Tôi không biết về iPhone 3.0 SDK, nhưng đến 2.x, bạn không thể kiểm soát điều này. Tuy nhiên, những gì bạn có thể làm là tạo một bàn phím tùy chỉnh. Đó là nhiều công việc hơn, nhưng bạn có thể làm lại các bố trí cho mỗi ngôn ngữ.
Để trả lời câu hỏi về bàn phím tiếng Anh - Apple đã thiết kế cho điều đó - bạn có thể sử dụng bàn phím ASCII - bạn có thể chọn bằng: UIKeyboardTypeASCIICapable.
Không có vấn đề trong 3.1+. Tôi đặt cài đặt này cho 3.0:
self.searchBar.keyboardType = UIKeyboardTypeURL;
và nút chuyển ngôn ngữ sẽ xuất hiện.
Bạn không thể đặt bàn phím thành bộ ký tự bạn muốn, nhưng điều tốt nhất tiếp theo là ngăn người dùng nhập ký tự từ bất kỳ bộ ký tự nào khác. Các đại biểu dưới đây làm điều này và cũng buzzes rung của iPhone khi các ký tự không chính xác được nhập vào, hoạt động tốt để nhanh chóng cảnh báo người dùng rằng họ đã chọn bàn phím sai. Này là dành cho Hàn Quốc nhưng dễ dàng sửa đổi cho các ngôn ngữ khác (xem ý kiến):
tập tin tiêu đề:
#import <Foundation/Foundation.h>
#import <AudioToolbox/AudioToolbox.h>
@interface KoreanOnlyInput : NSObject <UITextFieldDelegate>
{
NSMutableCharacterSet* koreanUnicode;
}
@end
tập tin .m:
#import "KoreanOnlyInput.h"
@implementation KoreanOnlyInput
- (id)init
{
self = [super init];
if (self) {
// From http://www.unicodemap.org/ :
// 0x1100 - 0x11FF : Hangul Jamo (256)
// 0x3130 - 0x318F : Hangul Compatibility Jamo (96)
// 0xAC00 - 0xD7A3 : Hangul Syllables (11172)
koreanUnicode = [[NSMutableCharacterSet alloc] init];
NSRange range;
range.location = 0x1100;
range.length = 1 + 0x11FF - range.location;
[koreanUnicode addCharactersInRange:range];
range.location = 0x3130;
range.length = 1 + 0x318F - range.location;
[koreanUnicode addCharactersInRange:range];
range.location = 0xAC00;
range.length = 1 + 0xD7A3 - range.location;
[koreanUnicode addCharactersInRange:range];
}
return self;
}
- (void)dealloc
{
[koreanUnicode release];
[super dealloc];
}
- (BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString*)string
{
if ([string isEqualToString:@"\n"])
return YES;
BOOL shouldChange = YES;
for (int i=0; i<[string length]; i++)
{
if (![koreanUnicode characterIsMember:[string characterAtIndex:i]])
shouldChange = NO;
}
if (!shouldChange)
{
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
}
return shouldChange;
}
@end
- 1. Ngôn ngữ bố cục bàn phím Android
- 2. Tùy chỉnh bàn phím iPhone
- 3. Notepad ++ Ngôn ngữ bàn phím chỉ thay đổi
- 4. Tìm ngôn ngữ của bàn phím Android hiện tại
- 5. Thêm/xóa các ngôn ngữ bàn phím thông qua .bat
- 6. Phát hiện ngôn ngữ IME trên bàn phím trên Android
- 7. Bàn phím iPhone tùy chỉnh
- 8. Cách lấy bàn phím tiếng Ả Rập trong iphone sdk
- 9. Chuyển ngôn ngữ trên iPhone
- 10. Hiển thị bàn phím IPhone bằng các ngôn ngữ khác nhau dựa trên đầu vào của người dùng
- 11. Phím shift trên bàn phím iPhone bị vô hiệu hóa
- 12. Đặt ngôn ngữ PHPMyAdmin
- 13. Mặc định bàn phím số của iPhone
- 14. iPhone: Khối bàn phím màn hình
- 15. iPhone datepicker thay vì bàn phím?
- 16. Làm cách nào để đặt mặc định (Ngôn ngữ & Bàn phím) cho Android AVD (SDK 2.1 & 2.2)
- 17. Làm cách nào để biết ngôn ngữ bàn phím? (en/fr)
- 18. Ngày hiển thị trên iPhone bằng ngôn ngữ người dùng nhưng bằng ngôn ngữ khác
- 19. Cách đặt ngôn ngữ/ngôn ngữ giao diện điều khiển eclipse
- 20. không thể đặt sơ đồ bàn phím cho phím Ctrl-;
- 21. Đa ngôn ngữ Ngôn ngữ
- 22. Chọn từ các ngôn ngữ CjK trên iPhone
- 23. Thay đổi phím trả về thành phím đã hoàn tất trên Bàn phím iPhone (UITextView)
- 24. Bàn phím Android. Phím nền
- 25. Bàn phím xử lý Đã nhấn sự kiện trên Iphone
- 26. Hiển thị bàn phím iPhone theo lập trình
- 27. Kích thước bàn phím số 5 của iPhone
- 28. Ẩn thanh công cụ phía trên bàn phím iPhone, PhoneGap
- 29. Bàn phím iPhone, nút Xong và từ chứcFirstResponder
- 30. Tìm bàn phím tìm kiếm trên iPhone bằng PhoneGap
Bạn sẽ không lo lắng nếu nó là từ điển Nga . – Nestor
Vui lòng trả lời câu hỏi hoặc chỉ cần thêm nhận xét cho câu hỏi –