iphone - যবহ - বাংলার কিবোর্ড




প্রোগ্রামিক্যালি UITextField কীবোর্ড টাইপ পরিবর্তন (8)

Swift 4.2 এ কীবোর্ডের ধরন এখানে

// UIKeyboardType
//
// Requests that a particular keyboard type be displayed when a text widget
// becomes first responder. 
// Note: Some keyboard/input methods types may not support every variant. 
// In such cases, the input method will make a best effort to find a close 
// match to the requested type (e.g. displaying UIKeyboardTypeNumbersAndPunctuation 
// type if UIKeyboardTypeNumberPad is not supported).
//
public enum UIKeyboardType : Int {


    case `default` // Default type for the current input method.

    case asciiCapable // Displays a keyboard which can enter ASCII characters

    case numbersAndPunctuation // Numbers and assorted punctuation.

    case URL // A type optimized for URL entry (shows . / .com prominently).

    case numberPad // A number pad with locale-appropriate digits (0-9, ۰-۹, ०-९, etc.). Suitable for PIN entry.

    case phonePad // A phone pad (1-9, *, 0, #, with letters under the numbers).

    case namePhonePad // A type optimized for entering a person's name or phone number.

    case emailAddress // A type optimized for multiple email address entry (shows space @ . prominently).

    @available(iOS 4.1, *)
    case decimalPad // A number pad with a decimal point.

    @available(iOS 5.0, *)
    case twitter // A type optimized for twitter text entry (easy access to @ #)

    @available(iOS 7.0, *)
    case webSearch // A default keyboard type with URL-oriented addition (shows space . prominently).

    @available(iOS 10.0, *)
    case asciiCapableNumberPad // A number pad (0-9) that will always be ASCII digits.


    public static var alphabet: UIKeyboardType { get } // Deprecated
}

ইউটিটেক্সফিল্ডের কীবোর্ডের ধরনটি প্রোগ্রাম্যাটিকভাবে পরিবর্তন করা কি সম্ভব যাতে করে এমন কিছু করা সম্ভব হয়:

if(user is prompted for numeric input only)
    [textField setKeyboardType: @"Number Pad"];

if(user is prompted for alphanumeric input)
    [textField setKeyboardType: @"Default"];

এই ধরনের keyboardType টাইপের জন্য একটি সম্পত্তি আছে। আপনি যা করতে চান তা প্রতিস্থাপন করুন যেখানে আপনার স্ট্রিংগুলি রয়েছে @"Number Pad এবং @"Default UIKeyboardTypeNumberPad এবং UIKeyboardTypeDefault

আপনার নতুন কোডটি এমন কিছু দেখতে হবে:

if(user is prompted for numeric input only)
    [textField setKeyboardType:UIKeyboardTypeNumberPad];

else if(user is prompted for alphanumeric input)
    [textField setKeyboardType:UIKeyboardTypeDefault];

গুড লাক!


এটি অবিলম্বে লক্ষ্য করা দরকার যে যদি আপনি অবিলম্বে কীবোর্ডের টাইপ আপডেট করতে কোনও ফোকাস ফিল্ড চান তবে একটি অতিরিক্ত ধাপ রয়েছে:

// textField is set to a UIKeyboardType other than UIKeyboardTypeEmailAddress

[textField setKeyboardType:UIKeyboardTypeEmailAddress];
[textField reloadInputViews];

reloadInputViews কল না করে, নির্বাচিত ক্ষেত্রটি ( প্রথম প্রতিক্রিয়াকারী ) পর্যন্ত কীবোর্ডটি পরিবর্তন হবে না এবং ফোকাস ফিরে পাবে।

UIKeyboardType মানগুলির একটি সম্পূর্ণ তালিকা এখানে পাওয়া যাবে , বা:

typedef enum : NSInteger {
    UIKeyboardTypeDefault,
    UIKeyboardTypeASCIICapable,
    UIKeyboardTypeNumbersAndPunctuation,
    UIKeyboardTypeURL,
    UIKeyboardTypeNumberPad,
    UIKeyboardTypePhonePad,
    UIKeyboardTypeNamePhonePad,
    UIKeyboardTypeEmailAddress,
    UIKeyboardTypeDecimalPad,
    UIKeyboardTypeTwitter,
    UIKeyboardTypeWebSearch,
    UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable
} UIKeyboardType;

টেক্সট ক্ষেত্র আলফা সংখ্যাসূচক গ্রহণ শুধুমাত্র এই সম্পত্তি সেট করতে

textField.keyboardType = UIKeyboardTypeNamePhonePad;

যারা UIDatePicker ইনপুট হিসাবে ব্যবহার করতে চান তাদের জন্য:

UIDatePicker *timePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 250, 0, 0)];
[timePicker addTarget:self action:@selector(pickerChanged:)
     forControlEvents:UIControlEventValueChanged];
[_textField setInputView:timePicker];

// pickerChanged:
- (void)pickerChanged:(id)sender {
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"d/M/Y"];
    _textField.text = [formatter stringFromDate:[sender date]];
}

সুইফ্টের জন্য এটি UIKeyboardTypes 3:

public enum UIKeyboardType : Int {

    case `default` // Default type for the current input method.
    case asciiCapable // Displays a keyboard which can enter ASCII characters
    case numbersAndPunctuation // Numbers and assorted punctuation.
    case URL // A type optimized for URL entry (shows . / .com prominently).
    case numberPad // A number pad with locale-appropriate digits (0-9, ۰-۹, ०-९, etc.). Suitable for PIN entry.
    case phonePad // A phone pad (1-9, *, 0, #, with letters under the numbers).
    case namePhonePad // A type optimized for entering a person's name or phone number.
    case emailAddress // A type optimized for multiple email address entry (shows space @ . prominently).

    @available(iOS 4.1, *)
    case decimalPad // A number pad with a decimal point.

    @available(iOS 5.0, *)
    case twitter // A type optimized for twitter text entry (easy access to @ #)

    @available(iOS 7.0, *)
    case webSearch // A default keyboard type with URL-oriented addition (shows space . prominently).

    @available(iOS 10.0, *)
    case asciiCapableNumberPad // A number pad (0-9) that will always be ASCII digits.


    public static var alphabet: UIKeyboardType { get } // Deprecated
}

তালিকা থেকে একটি কীবোর্ড টাইপ ব্যবহার করার জন্য এটি একটি উদাহরণ:

textField.keyboardType = .numberPad

সুইফ্ট 4

শর্ত পূরণ করার সময় আপনি আপনার কীবোর্ডের ধরন পরিবর্তন করার চেষ্টা করছেন, এটি অনুসরণ করুন। উদাহরণস্বরূপ: যদি আমরা 4 বা 5 টি পাঠ্যক্ষেত্রের গণনা ডিফল্ট থেকে সংখ্যা প্যাড থেকে কীবোর্ড টাইপ পরিবর্তন করতে চাই তবে এইটি করুন:

textField.addTarget(self, action: #selector(handleTextChange), for: .editingChanged)

@objc func handleTextChange(_ textChange: UITextField) {
 if textField.text?.count == 4 || textField.text?.count == 5 {
   textField.keyboardType = .numberPad
   textField.reloadInputViews() // need to reload the input view for this to work
 } else {
   textField.keyboardType = .default
   textField.reloadInputViews()
 }

    textFieldView.keyboardType = UIKeyboardType.PhonePad

এই দ্রুততর জন্য। এছাড়াও সঠিকভাবে কাজ করার জন্য এটি textFieldView.delegate = self পরে সেট করা আবশ্যক





uikeyboard