UITextField增加内边距

之前的修改方案(不知道从什么时候开始不能用了)

[self.yourTextField setValue:[NSNumber numberWithInt:5] forKey:@"paddingTop"];
[self.yourTextField setValue:[NSNumber numberWithInt:5] forKey:@"paddingLeft"];
[self.yourTextField setValue:[NSNumber numberWithInt:5] forKey:@"paddingBottom"];
[self.yourTextField setValue:[NSNumber numberWithInt:5] forKey:@"paddingRight"];

为了实现这种效果,就只能自定义UITextField了
效果图.png

重写系统方法

- (CGRect)textRectForBounds:(CGRect)bounds {
    CGRect superRect = [super textRectForBounds:bounds];
    return CGRectMake(superRect.origin.x + 10, superRect.origin.y, superRect.size.width - 10*2, superRect.size.height);
}

- (CGRect)editingRectForBounds:(CGRect)bounds {
    return [self textRectForBounds:bounds];
}

- (CGRect)leftViewRectForBounds:(CGRect)bounds {
    CGRect rect = [super leftViewRectForBounds:bounds];
    rect.origin.x += 10;
    return rect;
}

- (CGRect)rightViewRectForBounds:(CGRect)bounds {
    CGRect rect = [super rightViewRectForBounds:bounds];
    rect.origin.x -= 10;
    return rect;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,141评论 1 32
  • 四,从容应考----考前练习难,换题 正因为孩子开始学习时不彷徨纠结畏难,能够扎进去,她效率提高了,越来越有自信了...
    花草姐姐阅读 219评论 0 0
  • KIMI乔任梁,一路走好。 我不停刷着微博和新闻,希望能看到更多关于送别乔先生的消息,虽然这并没有什么意义。 17...
    潔小毛阅读 1,004评论 0 0
  • 断线重连主要涉及到几个问题: 判定断线 怎么重连 重连后如何还原游戏环境 判定断线有两种方式,(1)是超时判定断线...
    小星星幼儿园阅读 700评论 0 1
  • 李红丽 焦点网络初七 坚持分享第十二天 姑且把它看作一截树干吧!缠绕着一圈圈细细长长的绳子,绳子的一端,延伸至卡片...
    丽日晴空阅读 202评论 0 0