gpt4 book ai didi

ios - UITextField 水平文本对齐 - 文本不居中

转载 作者:可可西里 更新时间:2023-11-01 02:58:47 26 4
gpt4 key购买 nike

我有一个非常奇怪的错误,试图在 iOS 7+ 应用程序的 UITextField 对象中水平居中文本。

我已经建立了一个新项目来隔离错误并确保我没有做错什么。

viewDidAppear: 方法中,我分配/初始化一个新的 UITextField 实例,如下所示:

UITextField *tf = [[UITextField alloc] initWithFrame:CGRectMake(60.0f, 100.0f, 200.0f, 200.0f)];
tf.backgroundColor = [UIColor orangeColor];
tf.textAlignment = NSTextAlignmentCenter;

[self.view addSubview:tf];

就是这样。当我在 iPhone Retina(4 英寸 64 位)模拟器 上运行此示例应用程序时,我得到以下结果:

enter image description here

输入一些字母后我得到了这个:

enter image description here

有人知道这是怎么回事吗?键入时文本应居中。直到现在我才遇到这个错误。是 iOS 相关还是我做错了什么?

P.s.:它也发生在 iDevices 上。

提前致谢。

编辑:

添加:

tf.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
tf.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;

也没有帮助。

编辑 2:

就像 Inder Kumar Rathore 建议的那样,我尝试将 height 设置为 20.0f,如下所示:

UITextField *tf = [[UITextField alloc] initWithFrame:CGRectMake(60.0f, 100.0f, 200.0f, 20.0f)];

而且效果惊人。但这并不能解决问题。我发现从 20.0f 开始增加高度只会让问题变得更糟。我认为这与 line-height/text field height 比率有关。我不知道..

最佳答案

我认为 UITextField 期望字体的垂直大小等于文本字段的高度。如果您想象一种字体的磅值将以 200 磅填满文本字段的垂直高度,那么在它填满水平宽度并从居中行为切换到右对齐行为之前,您将只能键入几个字符行为。这似乎是您上面的“错误”中的行为,您只能在切换行为之前输入几个字符。

我认为最好的办法是让你的文本字段足够高以适合你的字体,并将它垂直居中在包含 UIView 中。

关于ios - UITextField 水平文本对齐 - 文本不居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24184302/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com