所以首先,我需要设置占位符文本颜色,所以我将 UITextfield 子类化,如几个堆栈溢出帖子所示。这工作正常。这是一个示例帖子:How do I subclass UITextField and override drawPlaceholderInRect to change Placeholder color。
但是,当我尝试使用searchNameField.textAlignment = UITextAlignmentCenter;
它时,它不再使占位符居中。输入文本仍然居中。
那么,假设由于子类化而居中不起作用,我必须向 UITextField 子类添加什么才能使占位符文本居中?
谢谢
编辑
这是我用来解决这个问题的代码。这放置在我的 UITextField 子类中。
- (CGRect)placeholderRectForBounds:(CGRect)bounds
{
CGSize size = [[self placeholder] sizeWithFont:[UIFont fontWithName:@"Arial" size:placeholdTextSize]];
return CGRectMake( (bounds.size.width - size.width)/2 , bounds.origin.y , bounds.size.width , bounds.size.height);
}
请注意,placeholdTextSize 是我在初始化期间设置的属性。