Iphone UITextField:使其更高,并将输入文本垂直居中放置

Iphone UITextField:使其更高,并将输入文本垂直居中放置,iphone,ipad,ios,uitextfield,alignment,Iphone,Ipad,Ios,Uitextfield,Alignment,带边框样式的UITextBorderStyleRoundedRectUITextField的默认高度为31px。对于iPad应用程序,我想制作一个高度为60px的UITextField,并将文本垂直居中放置,以使其外观良好(默认情况下,文本仅绘制在UITextField上边框下方几个像素处) 如果我做下面的事 UITextField *txtLogin = [[UITextField alloc] initWithFrame:CGRectMake(200,200,300,60)]; txtLog

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

如果我做下面的事

UITextField *txtLogin = [[UITextField alloc] initWithFrame:CGRectMake(200,200,300,60)];
txtLogin.borderStyle = UITextBorderStyleRoundedRect;
…结果如下所示:

如您所见,输入文本没有垂直居中。我试图找到一个解决方案,发现我只需要从UITextField继承自己的自定义类,并重写
-(CGRect)textRectForBounds:(CGRect)bounds
方法。 然而,这个方法从来没有被调用过,根据苹果的API中有一个bug。因此,我正在寻找可行的替代方案


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

[txtLogin setContentVerticalAlignment:uicontrolContentVerticalAlignment中心]