Input types - Text Fields

Advertisements


Why Input types?

Key board input types help us get the required input from user. It removes unwanted keys and includes needed ones. We can set the type of input that user can give by using the keyboard property of UITextField.

  • Eg : textField. keyboardType = UIKeyboardTypeDefault

Keyboard Input types

Input TypeDescription
UIKeyboardTypeASCIICapableKeyboard includes all standard ASCII characters.
UIKeyboardTypeNumbersAndPunctuationKeyboard display numbers and punctuations once its shown.
UIKeyboardTypeURLKeyboard is optimized for URL entry.
UIKeyboardTypeNumberPadKeyboard is used for PIN input and show a numeric keyboard.
UIKeyboardTypePhonePadKeyboard is optimized for entering phone numbers.
UIKeyboardTypeNamePhonePadKeyboard is used for entering name or phone number.
UIKeyboardTypeEmailAddressKeyboard is optimized for entering email address.
UIKeyboardTypeDecimalPadKeyboard is used for entering decimal numbers.
UIKeyboardTypeTwitterKeyboard is optimized for twitter with @ and # symbols.

Add a custom method addTextFieldWithDifferentKeyboard

-(void) addTextFieldWithDifferentKeyboard{

   UITextField *textField1= [[UITextField alloc]initWithFrame: 
   CGRectMake(20, 50, 280, 30)];
   textField1.delegate = self;
   textField1.borderStyle = UITextBorderStyleRoundedRect;
   textField1.placeholder = @"Default Keyboard";
   [self.view addSubview:textField1];

   UITextField *textField2 = [[UITextField alloc]initWithFrame:
   CGRectMake(20, 100, 280, 30)];
   textField2.delegate = self;
   textField2.borderStyle = UITextBorderStyleRoundedRect;
   textField2.keyboardType = UIKeyboardTypeASCIICapable;
   textField2.placeholder = @"ASCII keyboard";
   [self.view addSubview:textField2];

   UITextField *textField3 = [[UITextField alloc]initWithFrame:
   CGRectMake(20, 150, 280, 30)];
   textField3.delegate = self;
   textField3.borderStyle = UITextBorderStyleRoundedRect;
   textField3.keyboardType = UIKeyboardTypePhonePad;
   textField3.placeholder = @"Phone pad keyboard";
   [self.view addSubview:textField3];

   UITextField *textField4 = [[UITextField alloc]initWithFrame:
   CGRectMake(20, 200, 280, 30)];
   textField4.delegate = self;
   textField4.borderStyle = UITextBorderStyleRoundedRect;
   textField4.keyboardType = UIKeyboardTypeDecimalPad;
   textField4.placeholder = @"Decimal pad keyboard";
   [self.view addSubview:textField4];

   UITextField *textField5= [[UITextField alloc]initWithFrame:
   CGRectMake(20, 250, 280, 30)];
   textField5.delegate = self;
   textField5.borderStyle = UITextBorderStyleRoundedRect;
   textField5.keyboardType = UIKeyboardTypeEmailAddress;
   textField5.placeholder = @"Email keyboard";
   [self.view addSubview:textField5];

   UITextField *textField6= [[UITextField alloc]initWithFrame:
   CGRectMake(20, 300, 280, 30)];
   textField6.delegate = self;
   textField6.borderStyle = UITextBorderStyleRoundedRect;
   textField6.keyboardType = UIKeyboardTypeURL;
   textField6.placeholder = @"URL keyboard";
   [self.view addSubview:textField6];
}

Update viewDidLoad in ViewController.m as follows

(void)viewDidLoad
{
   [super viewDidLoad];
   //The custom method to create textfield with different keyboard input
   [self addTextFieldWithDifferentKeyboard];
   //Do any additional setup after loading the view, typically from a nib
}

Output

Now when we run the application we'll get the following output

iOS Tutorial

We will see different keyboards displayed on selecting each of the text fields.



Advertisements
Advertisements