【问题标题】:UITextField: Make it higher and position input text vertically centeredUITextField:使其更高并将输入文本垂直居中
【发布时间】:2011-04-10 15:56:27
【问题描述】:

带有边框样式UITextBorderStyleRoundedRect 的UITextField 的默认高度为31px。对于 iPad 应用程序,我想制作一个高度为 60px 的 UITextField 并将文本垂直居中放置,使其看起来不错(默认情况下,文本仅绘制在 UITextField 顶部边框下方几个像素处)。

如果我执行以下操作...

UITextField *txtLogin = [[UITextField alloc] initWithFrame:CGRectMake(200,200,300,60)];
txtLogin.borderStyle = UITextBorderStyleRoundedRect;

...结果如下所示:http://grab.by/6jRc

如您所见,输入文本不是垂直居中的。我试图找到一个解决方案,发现我只需要从 UITextField 继承我自己的自定义类并覆盖- (CGRect)textRectForBounds:(CGRect)bounds 方法。 但是,这个方法永远不会被调用,并且根据this link,Apple 的 API 中有一个错误。因此,我正在寻找可行的替代方案。

解决此问题并实现输入文本的正确垂直对齐的好的解决方案是什么?

【问题讨论】:

    标签: iphone ipad ios uitextfield alignment


    【解决方案1】:

    [txtLogin setContentVerticalAlignment:UIControlContentVerticalAlignmentCenter];

    【讨论】:

      猜你喜欢
      • 2011-07-23
      • 2023-04-03
      • 1970-01-01
      • 2013-10-15
      • 1970-01-01
      • 2013-05-12
      • 2018-04-02
      • 2015-08-25
      • 2011-07-06
      相关资源
      最近更新 更多