带有边框样式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
方法即可。
然而,此方法从未被调用,并且根据此链接显示,Apple的API存在错误。因此,我正在寻找替代方案。
有什么好的解决方案来解决这个问题并实现输入文本的正确垂直对齐?