gpt4 book ai didi

iphone - UITextField - (void)drawPlaceholderInRect :(CGRect)rect returns different CGRect height in iOS 7

转载 作者:技术小花猫 更新时间:2023-10-29 10:36:55 26 4
gpt4 key购买 nike

我尝试子类化 UITextField 来绘制自定义占位符。在 iOS 6 中,这工作正常,但在 iOS 7 中,我得到了不同的 CGRect 高度。

UITextField 框架是(0, 0, 500, 45)。我通过覆盖添加了 20 的左填充- (CGRect)editingRectForBounds:(CGRect)bounds;

- (CGRect)placeholderRectForBounds:(CGRect)bounds;

- (CGRect)textRectForBounds:(CGRect)bounds;

调用下面的方法来这样做:

- (CGRect)makeRectFromBounds:(CGRect)bounds
withTopPadding:(CGFloat)topPadding
andLeftPadding:(CGFloat)leftPadding
{
return UIEdgeInsetsInsetRect(bounds, UIEdgeInsetsMake(topPadding, leftPadding, 0, 0));

}

因为我想要不同的 placeHolder 文本颜色,所以我覆盖了

- (void)drawPlaceholderInRect:(CGRect)rect

- (void)drawPlaceholderInRect:(CGRect)rect {

[[UIColor colorWithRed:121.0/255.0
green:113.0/255.0
blue:107.0/255.0
alpha:1.0] setFill];

[self printRect:rect from:__FUNCTION__];

[[self placeholder] drawInRect:rect withFont:self.font];
}

我正在打印的矩形如下:

iOS 7: -Rect (X: 0.0, Y:0.0, W:480.0, H:44.0)

iOS 6: -Rect (X: 0.0, Y:0.0, W:480.0, H:26.0)

不知道这是一个错误还是我做错了什么?

最佳答案

请改用以下内容:

[textfield setValue:[UIColor redColor] forKeyPath:@"_placeholderLabel.textColor"];

关于iphone - UITextField - (void)drawPlaceholderInRect :(CGRect)rect returns different CGRect height in iOS 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18915987/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com