最近做的一个项目中,需要实现如下这样的设计:
设计图.png
这个设计中,有三个点是需要注意的:
- UITextFiled的左视图距左边框的距离怎么设置?
- UITextField的文字距离左视图要有一定的距离
- UITextField的底部边框怎么写
要想完成前两点,其实只要写一个CustomTextField类,即成自UITextField,并重写里面的三个方法,代码如下:
//这是需要重写的第一个方法:是让左视图往右偏移10个像素
- (CGRect)leftViewRectForBounds:(CGRect)bounds
{
CGRect iconRect = [super leftViewRectForBounds:bounds];
iconRect.origin.x += 10; //向右偏移10像素
return iconRect;
}
//UItextField文字与输入框的距离
- (CGRect)textRectForBounds:(CGRect)bounds
{
return CGRectInset(bounds, 43, 0);
}
//控制文本的位置
- (CGRect)editingRectForBounds:(CGRect)bounds
{
return CGRectInset(bounds, 43, 0);
}
UI底部框的实现方式如下:
CALayer *bottmPhoneBorder = [CALayer layer];
bottmPhoneBorder.backgroundColor = K22C1AEColor.CGColor;
bottmPhoneBorder.frame = CGRectMake(0, _phoneNumTextFiled.frame.size.height-1, _phoneNumTextFiled.frame.size.width, 1); [_phoneNumTextFiled.layer addSublayer:bottmPhoneBorder];
网友评论