iphone - UITextfield 文本在编辑中移动

标签 iphone ios objective-c xcode uikit

当我的 UITextField 成为第一响应者(编辑时)时,文本会非常轻微地向下移动并且字符之间的间距会非常轻微地增加。在辞去第一响应者(键盘消失)后,角色会回到原来的位置。起初我以为这是字体问题,因为我使用的是自定义字体,但是当我使用系统字体或其他自定义字体时,同样的事情发生了。

请检查下面的图片。第一个是键盘向下,第二个是键盘向上。可能很难看出,因为方差很小,但键盘弹起状态显示字符向下移动并略微分开。

enter image description here

enter image description here

最佳答案

在 xib 中,将文本字段的 borderStyle 设置为除 TextBorderStyleNone 之外的任何值。在代码中,将文本字段的 borderStyle 显式设置为 TextBorderStyleNone。

我不明白为什么,但它似乎是初始化程序错误。它在其他不通过 xib 导出初始化 UITextField 的代码中工作正常。

xib中设置textfield的borderStyle为TextBorderStyleNone时,代码中设置borderStyle为TextBorderStyleNone,问题依旧。它后面可能跟随着值变化触发的某种“layoutIfNeeded”内容。

关于iphone - UITextfield 文本在编辑中移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18543106/

相关文章:

iPhone 应用程序无法编译

ios - Swift 数组元素映射

ios - 核心数据警告 : Unrecognized optimized model archive format

objective-c - 如何使用 Lion 以编程方式制作 NSWindow 全屏?

php - NSURLConnection 连接到服务器,但不发布数据

iphone - 应用内购买响应永远不会到来

ios - Xcode - iOS - AWS S3 - 下载的图像在首次下载时不显示

ios - 尝试安装 react native 时出错,运行 pod install 时无法正确构建

ios - AFURLConnectionOperation.m 隐式转换丢失整数精度 : 'int64_t' (aka 'long long' ) to 'NSInteger' (aka 'int' )

objective-c - Apple 是否有 API 可用于请求和发送我所连接的 wifi MAC 地址?