最近做的一個項目中,需要實現(xiàn)如下這樣的設計:
這個設計中秕噪,有三個點是需要注意的:
- 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底部框的實現(xiàn)方式如下:
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];