【发布时间】: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