1.UITextField的光標太靠近邊框
設置leftView 使光標和左側邊框的距離變大
UITextField *textField = [[UITextField alloc]initWithFrame:CGRectMake(100, 30, [UIScreen mainScreen].bounds.size.width - 200, 30)];
[textField setBackgroundColor:[UIColor lightGrayColor]];
//******************
CGRect rect = textField.frame;
rect.size.width = 10;
UIView *view = [[UIView alloc]initWithFrame:rect];
textField.leftViewMode = UITextFieldViewModeAlways;
textField.leftView = view;
textField.delegate = self;
//******************
[self.view addSubview:textField];
2.監聽return鍵點擊
使用UITextField的代理UITextFieldDelegate
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if ([@"\n" isEqualToString:string] == YES) {
return NO;
}
return YES;
}
當string是'\n'的時候可以處理retur鍵n的操作。
3.控制UITextField輸入字符的長度,可以使用上面的方法,監聽每次字符變化,從而控制字符的輸入個數
比如輸入的長度爲8的時候:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if ([string length] > 0 && [textField.text length] >= 8)
{
return NO;
}
return YES;
}
4.其他的常用方法
//圓角
textField.layer.cornerRadius=8.0f;
textField.layer.masksToBounds=YES;
//邊框
textField.layer.borderColor=[[UIColor redColor]CGColor];
textField.layer.borderWidth= 1.0f;
//密碼
textField.secureTextEntry = YES;