UITextfield在编辑时不显示内容

时间:2016-06-02 08:46:07

标签: ios objective-c uitextfield

enter image description here

嗨,我遇到了问题。 我自定义了像pic中第二个文本字段的文本字段,覆盖了函数

-(void)drawRect:(CGRect)rect {

    UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:self.bounds byRoundingCorners:UIRectCornerAllCorners cornerRadii:CGSizeMake(self.h / 2, self.h / 2)];
    path.lineWidth = 0.5;
    [[UIColor lightGrayColor] setStroke];
    [path stroke];

}

-(CGRect)textRectForBounds:(CGRect)bounds {

    return CGRectMake(self.h / 2, self.h, self.w - self.h, self.h); 
}

当我在自定义文本字段中进行编辑时,内容未显示在其中,并且我结束编辑,内容显示。第一个文本字段是工作正常的系统样式。 希望有人能帮我解决问题,非常感谢。

1 个答案:

答案 0 :(得分:0)

- (CGRect)textRectForBounds:(CGRect)bounds {
  return CGRectOffset(bounds, 0, 0);
}

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

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

使用常量而不是零来设置代码中的自定义偏移量