UITextField的leftView不贴边处理

本文介绍了一个UITextField子类的实现方法,通过该方法可以在iOS7中为UITextField设置带有间距的左侧视图,避免了视图与文本的贴边显示问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在iOS7 里面 ,设置textField的leftView,会贴边.这里跟大家分享一下我的测试demon ;

首先要建一个 继承于UITextField 的子类,并且重写一个跟图片有关的初始化方法,这只是为了 方便,不一定非要这么写;


#import <UIKit/UIKit.h>


@interface LeftViewTextField : UITextField


-(instancetype)initWithFrame:(CGRect)frame Icon:(UIImageView*)icon;


@end

然后 主要在 .m文件里  需要重写一下下面这个方法,目的是用来覆盖掉父类里面的 leftView的CGRect ;
 -(CGRect)leftViewRectForBounds:(CGRect)bounds
{

}

//


#import "LeftViewTextField.h"


@implementation LeftViewTextField


-(instancetype)initWithFrame:(CGRect)frame Icon:(UIImageView *)icon{

    self=[super initWithFrame:frame];

    if (self) {

        self.leftView=icon;

        self.leftViewMode=UITextFieldViewModeAlways;

     }

    return self;

}


-(CGRect)leftViewRectForBounds:(CGRect)bounds{

    CGRect iconRect=[super leftViewRectForBounds:bounds];

    iconRect.origin.x+=10;

    return iconRect;

}


@end

   


我也是初学者.
参考:http://www.th7.cn/Program/IOS/201405/203938.shtml


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值