UITextField 中的文本编辑后向上移动(编辑时居中)

2024-01-01

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

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

我在下面添加了屏幕截图,以便您可以看到问题所在。

这就是编辑字段时的样子 - 没关系。

这就是完成编辑后的样子 - 这就是problem!

请,如果有人知道可能导致此问题的原因,我将非常感激! :)

这是我与 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,没关系。


我遇到了类似的问题,开始发生在iOS 9。基本上我在集合视图单元格中有一个 UITextField 。有时,当用户完成输入和编辑结束时,文本会向上然后向下再次“弹跳”到正确的位置。非常奇怪和烦人的故障。只需进行此调整即可解决 iOS 9 上的问题,并证明在 iOS 7 和 8 上是安全的:

 - (void)textFieldDidEndEditing:(UITextField *)textField
 {
    [textField layoutIfNeeded]; //Fixes iOS 9 text bounce glitch
    //...other stuff
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UITextField 中的文本编辑后向上移动(编辑时居中) 的相关文章

随机推荐