0

是否可以对齐 UITextField 的clearButton

我以编程方式将按钮添加到 textField:

_usernameTextField.clearButtonMode = UITextFieldViewModeWhileEditing;

但它的位置比文本字段的中心低一点。

在此处输入图像描述

我该如何解决?

4

3 回答 3

1

您可以扩展UITextField和覆盖clearButtonRectForBounds:并提供自定义矩形。

于 2013-02-13T17:30:32.633 回答
0

最终我UITextField继承了函数并覆盖了函数clearButtonRectForBounds:

。H

#import <UIKit/UIKit.h>

@interface TVUITextFieldWithClearButton : UITextField

@end

.m

#import "TVUITextFieldWithClearButton.h"

@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
于 2013-02-14T08:29:36.580 回答
0

您是否尝试过字段本身的 contentVerticalAlignment 属性?

usernameField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;

最初引用:为什么清除按钮不与 UITextField 中的文本对齐?

于 2013-02-13T18:54:20.307 回答