欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

解决iOS UITextField 编辑时文本偏移问题

程序员文章站 2023-12-19 13:45:34
 1.在cell中添加uitextfield,在编辑的时候总是出现文本偏移问题,编辑结束时回复正常,解决方式如下: (1)代码创建uitextfield,并添加...

 1.在cell中添加uitextfield,在编辑的时候总是出现文本偏移问题,编辑结束时回复正常,解决方式如下:

(1)代码创建uitextfield,并添加上去,设置textfield的一些属性:

- (uitextfield *)textfield{
 if (_textfield == nil) {
  _textfield = [uitextfield new];
  _textfield.borderstyle = uitextborderstylenone;
  _textfield.contentverticalalignment = uicontrolcontentverticalalignmentcenter;
  _textfield.textalignment = nstextalignmentleft;
  _textfield.clearbuttonmode = uitextfieldviewmodewhileediting;
  _textfield.tintcolor = [uicolor redcolor];
  _textfield.font = gxfont(16);
  _textfield.returnkeytype = uireturnkeydone;
  _textfield.delegate = self;
 }
 return _textfield;
}
- (instancetype)initwithstyle:(uitableviewcellstyle)style reuseidentifier:(nsstring *)reuseidentifier{
 if (self = [super initwithstyle:style reuseidentifier:reuseidentifier]) {
  [self.contentview addsubview:self.textfield];
 }
 return self;
}
- (void)layoutsubviews{
 [super layoutsubviews];
 self.textfield.frame = (cgrect){{kdefaultspace, 0},{gxscreenwidth-2*kdefaultspace, cgrectgetheight(self.frame)}};
}

(2)xib创建,并拉线成属性:

解决iOS UITextField 编辑时文本偏移问题

代码中设置属性:

 self.textfidle.textalignment = nstextalignmentleft;
 self.textfidle.contentverticalalignment = uicontrolcontentverticalalignmentcenter;
 self.textfidle.borderstyle = uitextborderstylenone;
 self.textfidle.backgroundcolor = [uicolor lightgraycolor];

设置成功,如果还不成功的话,就要吧各个属性都测试一下,

注意:self.textfidle.clipstobounds = yes;这句话好像对偏移有影响,大家注意一下,我测试的是如果在上面的属性基础上加上这句话,文本就会偏移,去掉就没问题.

以上所述是小编给大家介绍的解决ios uitextfield 编辑时文本偏移问题,希望对大家有所帮助

上一篇:

下一篇: