textfield子类突出显示文本iphone

时间:2013-09-06 08:18:01

标签: ios uitextfield

我已经将UITextfield子类化为允许背景图像,占位符文本颜色。它在iPad中正如预期的那样工作。但在iPhone上,它一直突出蓝色,无法看到文字输入。可以看到屏幕截图here

子类的代码如下:

- (CGRect) textRectForBounds:(CGRect)bounds {
return CGRectInset(bounds, 10, 10);
}

- (CGRect) editingRectForBounds:(CGRect)bounds {
return CGRectInset(bounds, 10, 10);
}

- (void) drawPlaceholderInRect:(CGRect)rect {
[[UIColor colorWithRed:.533 green:.553 blue:.220 alpha:1.0] setFill];
[[self placeholder] drawInRect:rect withFont:self.font lineBreakMode:NSLineBreakByTruncatingTail alignment:NSTextAlignmentLeft];
}

它在iPad上完美运行。这是在模拟器和设备上。 任何人都可以对此有所了解。

1 个答案:

答案 0 :(得分:0)

对于将来遇到此类问题的其他人: 原来在iphone中文本字段的高度较少,所以从上面的方法返回的rect是不对的。只是降低了插入值,它就像一个魅力。