UITextField 重寫方法 編輯文本的位置 顯示文本的位置 placeHolder的位置 字體 顏色

#import@interface SJCTextField : UITextField

-(id)initWithFrame:(CGRect)frame drawingLeft:(UIImageView*)icon;

@end

#import "SJCTextField.h"

@implementation SJCTextField

-(id)initWithFrame:(CGRect)frame drawingLeft:(UIImageView *)icon{

self = [super initWithFrame:frame];

if (self) {

self.leftView = icon;

self.leftViewMode = UITextFieldViewModeAlways;

}

return self;

}

-(CGRect)leftViewRectForBounds:(CGRect)bounds{

CGRect iconRect = [super leftViewRectForBounds:bounds];

iconRect.origin.x += 20;//

return iconRect;

}

//控制placeHolder的顏色、字體

- (void)drawPlaceholderInRect:(CGRect)rect

{

[[self placeholder] drawInRect:rect withAttributes:@{NSFontAttributeName:FONT_ROW_LABEL, NSForegroundColorAttributeName:COLOR_PLACEHOLDER}];

}//控制編輯文本的位置

-(CGRect)editingRectForBounds:(CGRect)bounds

{

CGRect inset = CGRectMake(bounds.origin.x+60, bounds.origin.y, bounds.size.width -10, bounds.size.height);

return inset;

}

//控制顯示文本的位置

-(CGRect)textRectForBounds:(CGRect)bounds

{

CGRect inset = CGRectMake(bounds.origin.x+60, bounds.origin.y, bounds.size.width -10, bounds.size.height);

return inset;

}

//控制placeHolder的位置,

-(CGRect)placeholderRectForBounds:(CGRect)bounds

{

CGRect inset = CGRectMake(bounds.origin.x+60, bounds.origin.y+15, bounds.size.width-10, bounds.size.height);

return inset;

}

@end

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容