嗨,我遇到了问题。 我自定义了像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);
}
当我在自定义文本字段中进行编辑时,内容未显示在其中,并且我结束编辑,内容显示。第一个文本字段是工作正常的系统样式。 希望有人能帮我解决问题,非常感谢。
答案 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];
}
使用常量而不是零来设置代码中的自定义偏移量