iOS开发(4)UITextField
? UITextField是UI控件中的文本輸入框控件,擁有自己的代理可以監聽用戶輸入的數據。
//創建一個UITextField
? ? UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(120.0f, 80.0f, 150.0f, 30.0f)];
? ? //外框類型
? ? [textField setBorderStyle:UITextBorderStyleRoundedRect];
? ? //默認顯示的字
? ? textField.placeholder = @"input";
? ? //輸入的內容是否保密 主要用于密碼輸入
? ? textField.secureTextEntry = NO;
? ? //自動校正樣式
? ? textField.autocorrectionType = UITextAutocorrectionTypeNo;
? ? textField.autocapitalizationType = UITextAutocapitalizationTypeNone;
? ? //return按鈕的樣式
? ? textField.returnKeyType = UIReturnKeyDone;
? ? //編輯時會出現個修改X? 點擊后會清空內容
? ? textField.clearButtonMode = UITextFieldViewModeWhileEditing;
? ? //下次輸入時是否清空上次的內容
? ? textField.clearsOnBeginEditing = NO;
?? ?
? ? textField.delegate = self;//設置代理
下面介紹一下UITextField的代理
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
? ? NSLog(@"開始編輯時會走這個方法");
}
- (void)textFieldDidEndEditing:(UITextField *)textField
{
? ? NSLog(@"結束編輯時會走這個方法");
}
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
? ? NSLog(@"是否可以開始編輯");
? ? return YES;
}
//隱藏鍵盤
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
? ? //return之前讓textfield通過下面方法失去第一響應者,也就是隱藏鍵盤
? ? [textField resignFirstResponder];
? ? return YES;
}
//限制輸入文本的長度
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
? ? //這里可以對輸入框輸入的內容增加限制
? ? NSLog(@"%d ,%d",range.location,range.length);
? ? NSLog(@"%@",string);
? ? if (range.location >= 20)
? ? ? ? return NO;// return NO to not change text
? ? if ([string isEqualToString:@"d"])
? ? ? ? return NO;
? ? return NO;
}
- (BOOL)textFieldShouldClear:(UITextField *)textField
{
? ? return NO;
}
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
//? ? textField.text = @"";
? ? return YES;
}
關于TextField一個很重要的部分就是如何去監聽鍵盤在屏幕的高度,因為很多時候我們整個輸入框彈起來的時候會遮住其他一些圖像。下一節將介紹一下鍵盤的通知。
總結
以上是生活随笔為你收集整理的iOS开发(4)UITextField的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IOS开发调用系统相机和打开闪光灯
- 下一篇: iOS开发(5)动态监听键盘通知