UITextField使用的一些细节
程序员文章站
2022-07-12 12:23:35
...
UITextField使用的一些细节
这篇博文是我自己使用UITextField的一些总结,并没有太多营养,并会持续更新。
2014.9.15
--------------------------------------------------------------------------------------------------------------------------------------
源码:
//
// RootViewController.m
// UITextField
//
// Created by YouXianMing on 14-9-15.
// Copyright (c) 2014年 YouXianMing. All rights reserved.
//
#import "RootViewController.h"
@interface RootViewController ()<UITextFieldDelegate>
@property (nonatomic, strong) UITextField *textField;
@end
@implementation RootViewController
- (void)viewDidLoad
{
[super viewDidLoad];
_textField = [[UITextField alloc] initWithFrame:CGRectMake(10, 80, 300, 40)];
_textField.layer.borderWidth = 1.f;
_textField.layer.borderColor = [UIColor redColor].CGColor;
_textField.backgroundColor = [UIColor whiteColor];
_textField.textAlignment = kCTTextAlignmentLeft; // 左对齐
_textField.delegate = self ;
_textField.keyboardType = UIKeyboardTypeNumberPad; // 数字键盘
_textField.placeholder = @"请输入4位验证码";
_textField.clearsOnBeginEditing = YES;
// 空出左侧边缘空隙(通过添加一个view来实现)
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10,
CGRectGetHeight(_textField.bounds))];
_textField.leftView = view;
_textField.leftViewMode = UITextFieldViewModeAlways;
[self.view addSubview:_textField];
// 添加手势
[self addGesture];
}
- (void)addGesture
{
// 手势
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGesture:)];
[self.view addGestureRecognizer:tap];
}
// 限制输入长度
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if (range.location >= 4)
{
return NO;
}
else
{
return YES;
}
}
- (void)tapGesture:(UITapGestureRecognizer *)tap
{
// 取消第一响应状态
[_textField resignFirstResponder];
}
@end
效果:
左侧空出空隙
限制输入长度
--------------------------------------------------------------------------------------------------------------------------------------
上一篇: linux c编程入门
下一篇: 超简单spring5源码编译(IDEA)
推荐阅读