UITextField leftView 光標的邊距 監聽return鍵 字符長度的限制 以及其他的常用方法

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;




發佈了203 篇原創文章 · 獲贊 44 · 訪問量 49萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章