Sunday, June 2, 2013

UITextField clearButtonRectForBounds example in Objective C (iOS).

UITextField clearButtonRectForBounds

Returns the drawing rectangle for the built-in clear button.

- (CGRect)clearButtonRectForBounds:(CGRect)bounds

The bounding rectangle of the receiver.

Return Value
The rectangle in which to draw the clear button.

Discussion of [UITextField clearButtonRectForBounds]
You should not call this method directly. If you want to place the clear button in a different location, you can override this method and return the new rectangle. Your method should call the super implementation and modify the returned rectangle’s origin only. Changing the size of the clear button may cause unnecessary distortion of the button image.

UITextField clearButtonRectForBounds example.
Subclass UITextField and override this method:

- (CGRect)clearButtonRectForBounds:(CGRect)bounds
    return CGRectMake(bounds.origin.x - 10, bounds.origin.y, bounds.size.width, bounds.size.height);

Example of [UITextField clearButtonRectForBounds].
@implementation TVUITextFieldWithClearButton

- (id)initWithFrame:(CGRect)frame
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
    return self;

- (void)awakeFromNib
    self.clearButtonMode = UITextFieldViewModeWhileEditing;

- (CGRect)clearButtonRectForBounds:(CGRect)bounds
    return CGRectMake(bounds.size.width/2-20 , bounds.origin.y-3, bounds.size.width, bounds.size.height);


End of UITextField clearButtonRectForBounds example article.