首先,我需要设置占位文本的颜色,因此我按照几篇Stack Overflow帖子的示例对UITextfield进行了子类化。这很有效。以下是其中一个示例帖子:如何对UITextField进行子类化并覆盖drawPlaceholderInRect以更改占位符颜色。
但是,当我尝试使用
所以,假设居中不起作用是由于子类化,那么我在我的UITextField子类中必须添加什么才能使占位文本居中呢?
谢谢。 编辑 下面是我用来解决这个问题的代码。这些代码放置在我的UITextField子类中。
请注意,placeholdTextSize是我在初始化期间设置的属性。
但是,当我尝试使用
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是我在初始化期间设置的属性。