Create a Class say CustomTextFieldCell inheriting NSTextFieldCell. @interface CustomTextFieldCell : NSTextFieldCell @end Override functions of NSTextFieldCell class as follows @implementation CustomTextField //Function will create rect for title //Any padding implemented in this function will be visible in title of textfieldcell - (NSRect)titleRectForBounds:(NSRect)theRect { NSRect titleFrame = [super titleRectForBounds:theRect]; //Padding on left side titleFrame.origin.x = PADDING_MARGIN; //Padding on right side titleFrame.size.width -= (2 * PADDING_MARGIN); return titleFrame; } //Any padding implemented in this function will be visible while editing text in textfieldcell //If Padding is not done here, padding done for title will not be visible while editing - (void)editWithFrame:(NSRect)aRect inView:(NSView *)controlView editor:(NSText *)textObj delegate:(id)anObject event:(NSEvent *)theEvent { NSRect textFrame = aRect; textFrame.origin.x += PADDING_MARGIN; textFrame.size.width -= (2* PADDING_MARGIN); [super editWithFrame: textFrame inView: controlView editor:textObj delegate:anObject event: theEvent]; } //Any padding implemented in this function will be visible while selecting text in textfieldcell //If Padding is not done here, padding done for title will not be visible while selecting text - (void)selectWithFrame:(NSRect)aRect inView:(NSView *)controlView editor:(NSText *)textObj delegate:(id)anObject start:(NSInteger)selStart length:(NSInteger)selLength { NSRect textFrame = aRect; textFrame.origin.x += PADDING_MARGIN; textFrame.size.width -= (2* PADDING_MARGIN); [super selectWithFrame: textFrame inView: controlView editor:textObj delegate:anObject start:selStart length:selLength]; } - (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView*)controlView { NSRect titleRect = [self titleRectForBounds:cellFrame]; [[selfattributedStringValue] drawInRect:titleRect]; } @end