美文网首页iOS常用
UITextField光标居中

UITextField光标居中

作者: 程序员学哥 | 来源:发表于2021-04-16 17:59 被阅读0次

想要实现的效果:

光标居中.jpg

实现代码如下

#import "STTextField.h"

@interface STTextField : UITextField

@end

#import "STTextField.h"

@implementation STTextField

- (CGRect)placeholderRectForBounds:(CGRect)bounds {
    CGRect inset = CGRectMake(bounds.origin.x, bounds.origin.y, bounds.size.width, bounds.size.height);
    return inset;
}

- (CGRect)textRectForBounds:(CGRect)bounds {
    CGRect inset = CGRectMake(bounds.origin.x, bounds.origin.y, bounds.size.width, bounds.size.height);
    return inset;
}

- (CGRect)editingRectForBounds:(CGRect)bounds {
    if (self.text.length > 0) {
        return [super editingRectForBounds:bounds];
    } else {
        // 可通过默认文案来调整inset.origin.x保证光标在两个字之间
        CGRect inset = CGRectMake(bounds.origin.x + bounds.size.width / 2, bounds.origin.y, bounds.size.width - bounds.size.width / 2, bounds.size.height);
        return inset;
    }
}

相关文章

网友评论

    本文标题:UITextField光标居中

    本文链接:https://www.haomeiwen.com/subject/avnelltx.html