UITextField leftView边距和textRect问题

如图:

image.png

左边的icon太过于贴近左边
text输入也太贴近左边
而且UITextfield也没有提供相应的方法
不然就要让UI给切一个带有边距的图,或者添加一层父视图,其实并不需要

解决办法:
创建一个继承与UITextfield的类,重写以下方法

//leftView添加左边距
- (CGRect)leftViewRectForBounds:(CGRect)bounds{
    CGRect textRect = [super leftViewRectForBounds:bounds];
    textRect.origin.x += kSuitLength(10);
    return textRect;
}

//text位置添加左边距
- (CGRect)textRectForBounds:(CGRect)bounds {
    CGRect rect = [super textRectForBounds:bounds];
    int margin = kSuitLength(9);
    CGRect inset = CGRectMake(rect.origin.x + margin, rect.origin.y, rect.size.width - margin, rect.size.height);
    return inset;
}

//编辑位置添加左边距
- (CGRect)editingRectForBounds:(CGRect)bounds {
    CGRect rect = [super editingRectForBounds:bounds];
    int margin = kSuitLength(9);
    CGRect inset = CGRectMake(rect.origin.x + margin, rect.origin.y, rect.size.width - margin, rect.size.height);
    return inset;
}

当然右边距也是一样~
效果图,这样看上去就顺眼很多了!


image.png

如有帮助,请点一下喜欢❤️❤️❤️

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,805评论 25 709
  • 一.代码设置UITextFiled (1) //初始化textfield并设置位置及大小 UITextField*...
    myfachen阅读 1,995评论 0 0
  • 使用sketch最重要的一点是设计好控件的规范。 为做好设计规范需要对色彩进行编号,比如:color_a”_1,c...
    youyeath阅读 26,335评论 2 237
  • 上午给我们讲课的老师是重庆师范大学博导、国家课标组核心成员黄翔教授给我们带来的精彩演讲《核心素养与课程改革的深...
    张丁文阅读 1,674评论 0 4
  • 时光 流逝的真快 忙碌了一上午 半天没了 又忙碌一下午 一天没了 利用下班后锻炼一下身体 转眼便是又一天 时光 流...
    红旗H7阅读 237评论 1 5