我有个奇怪的问题.我有一个UITextField,用户应该在其中写入内容的数量,因此该字段被称为"amountField".一切看起来都很好,当用户开始编辑文本字段时,文本位于垂直和水平中心-这很好.

但是,当用户结束编辑时,文本会向上移动一点.我try 了很多东西,但没有任何帮助...

我在下面添加了截图,这样你就可以看到问题所在了.

这就是编辑字段时的样子——没关系.

This is while editing the field - that's ok.

这就是编辑完成后的样子,这就是问题所在!

这就是问题所在.

拜托,如果有人知道这是什么原因,我将非常感激!:)

下面是我与amountField相关的一些代码.

amountField.keyboardType = UIKeyboardTypeNumberPad;
amountField.returnKeyType = UIReturnKeyDone;
amountField.delegate = self;

[amountField setFont:[UIFont fontWithName:@"Nuptial Script LT Std" size:30]];   
amountField.borderStyle = UITextBorderStyleNone;
UIImage *amountBg = [UIImage imageNamed:@"skin2_ipad_amountField.png"];
[amountField setBackground:amountBg];

amountField.rightView = nil;
//amountField.backgroundColor = [UIColor colorWithRed:1 green:1 blue:1 alpha:0.2];

amountField.textAlignment = UITextAlignmentCenter;
amountField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
amountField.adjustsFontSizeToFitWidth = YES;
amountLabel.textColor = UIColorFromARGB(0x313030); //Using my own macro

amountField.frame = CGRectMake(300, 480, 136, 32);
amountField.center = CGPointMake(605, 439);

PS:那些白色的角落在那里,因为我用0.2 alpha将背景设置为白色,这没关系.

推荐答案

所以

经过几个小时的try ,我发现了问题所在.

所以,如果你有类似的问题,试着把字体改成Arial或类似的字体.

有关完整的解释,请参考以下链接:link 1link 2.这些链接中推荐的解决方案可以避免很多麻烦,甚至可以应用于解决在开始编辑UITextField(使用系统字体或其他特定字体)时文本移到顶部的问题.

Objective-c相关问答推荐

iPhone 可达性判断

如何创建圆形按钮?

UITableView/UITableViewCell 点击事件响应?

如何在运行时向对象添加属性?

表达式不可分配 - 将浮点数分配为 Xcode 中其他两个浮点数的总和时出现问题?

使用 ARC,什么更好:alloc 或 autorelease 初始化程序?

如何创建 NSIndexPath:indexPathWithIndexes:length 所需的索引:

自动布局和按下时隐藏底栏

如何在 iOS SDK 中使用语音识别?

动态转发: suppress Incomplete Implementation 警告

iOS 内存分配 - 一个应用程序可以使用多少内存?

如何判断字符串是否仅包含目标C中的字母数字字符?

[MFMailComposeViewController canSendMail] 什么时候返回 NO

iPhone:在 UITextField 上禁用 Auto-Cap/autocorrect 问题

NSURLConnection sendAsynchronousRequest:queue:completionHandler:连续发出多个请求?

为什么使用弱指针进行委托?

如何在 xcode 项目中启用/禁用 ARC?

iPhone如何在打字时获取UITextField的文本?

围绕其中心旋转 UIView 保持其大小

Xcode 如何加载主情节提要?