将占位符居中放在同一个UITextField中,但有两种不同的大小

时间:2010-11-25 02:43:51

标签: iphone ios uitextfield

我正在尝试将相同的占位符文本置于同一UITextField的两个不同大小中。

有问题的UITextField在纵向中为243宽,在横向中为360。

在纵向中,占位符居中在中间就好了。当我旋转到横向并且UITextField重绘得更大时,它不再居中。它就像左边的25%(我猜在肖像长度的中间)

每次UITextField的长度发生变化时,有没有办法重新占位占位符?

2 个答案:

答案 0 :(得分:1)

有趣。我发布这个问题后5分钟就想到了一个想法。

在Portrait中重新绘制文本字段后,我执行以下操作:

Textfield.textAlignment = UITextAlignmentLeft;
Textfield.textAlignment = UITextAlignmentCenter;

在Landscape中重新绘制文本字段后,我执行此操作:

Textfield.textAlignment = UITextAlignmentRight;
Textfield.textAlignment = UITextAlignmentCenter;

现在占位符完全集中在两种模式中。哈基,但似乎工作。直到有人以“正确的方式”回答,我猜。

答案 1 :(得分:0)

你可以用以下方法完成相同的结果:

[textfield setNeedsLayout];

或者,可能

[textfield setNeedsDisplay];