尽管垂直对齐设置为中心,但 UITextField 是第一响应者时的文本要么被剪裁,要么出现在内容视图的底部

Posted

技术标签:

【中文标题】尽管垂直对齐设置为中心,但 UITextField 是第一响应者时的文本要么被剪裁,要么出现在内容视图的底部【英文标题】:Text when UITextField is first responder is either being clipped or appearing at bottom of content view despite vertical alignment being set to center 【发布时间】:2015-02-20 17:11:58 【问题描述】:

我遇到以下问题,可能是也可能不是 Xamarin.ios 问题(可能是 iOS 问题)。

一个 UIViewController 有以下内容:

我有一个 UITableView,它有许多 UITableViewCell 原型。 其中一个 UITableViewCell 原型包含一个 UITextField。 UITextField 自动布局约束具有尾随和前导 空间设置为 20,固定高度为 41 像素,底部空间为 superview 设置为 0。内容垂直对齐设置为居中。 UITextField 字体为 Helvetica Neue 14.0px,边框样式为 设置为无。

问题在于,有时,通常在显示其他一些视图控制器之后,当编辑文本字段时,键入时的字符会与内容区域的底部对齐。当文本字段退出第一响应者状态时,文本会跳回中心垂直对齐。请参阅随附的屏幕截图,显示 UITextField 在它是第一响应者时以及在它退出第一响应者状态之后。 (边界等被用来帮助诊断问题)

如果文本字段高度设置为默认值,则文本会在输入字符时闪烁 - 就好像文本被绘制在可见区域下方并被剪裁。

如果您知道可能导致此问题的 Xamarin.iOS 问题,或之前遇到过此问题,我将不胜感激您能提供的任何帮助。

【问题讨论】:

您可以随时缩小 UITextField,或增加其中的 FontSize。 【参考方案1】:

将剪辑设置为等于 false 的边界以解决此问题。

【讨论】:

以上是关于尽管垂直对齐设置为中心,但 UITextField 是第一响应者时的文本要么被剪裁,要么出现在内容视图的底部的主要内容,如果未能解决你的问题,请参考以下文章

垂直自动布局子视图

使 JLabel 文本与中心垂直对齐

ul li 文本垂直对齐略低于垂直中心

如何设置图像垂直对齐但水平对齐?

CSS在底部和中心垂直对齐

将元素水平和垂直对齐到页面的中心[重复]