iOS 自定义UITextField背景

了解更多,请关注我的微信公众号:mellong

设置背景图片

    UIImage *textFieldBgImage = [[UIImage imageNamed:@"textfield_bg.png"] stretchableImageWithLeftCapWidth:5 topCapHeight:5];
    [self.textField setBackground:textFieldBgImage];

修改文字边距

设置好图片后输入文字会发现左边的文字和背景图片的边框重叠了,需要设置一下文本框的边距,可是UITextField没有相应的属性可以设置,所以只有重写UITextField的相关方法。

    @implementation UITextField(UITextFieldCategory)
    
    - (CGRect)textRectForBounds:(CGRect)bounds {
        CGRect inset = CGRectInset(bounds, 5, 5);
        return inset;
    }
    
    - (CGRect)editingRectForBounds:(CGRect)bounds {
        CGRect inset = CGRectInset(bounds, 5, 5);
        return inset;
    }
    
    @end

上面偷了个懒,直接用category的方式重写了这个两个方法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容