Xcode iOS 7.1之后的UITextField水平对齐错误

Xcode iOS 7.1之后的UITextField水平对齐错误,xcode,storyboard,uitextfield,ios7.1,Xcode,Storyboard,Uitextfield,Ios7.1,当我试图在UITextField中水平居中一些文本时,我遇到了一个奇怪(而且非常恼人)的错误 我已经使用序列图像板放置了一个UITextField,纯文本(非属性化)将水平对齐设置为中心。文本在情节提要中显示为正确对齐(居中),但对于不同版本的iOS以及模拟器和真实设备之间给出了不同的结果: iOS 7.0版iPad模拟器: 非编辑模式:居中 编辑模式:居中 离开编辑模式后:居中 iOS 7.1版模拟机iPad: 非编辑模式:左对齐 编辑模式:居中 编辑模式后:居中 配备iOS 7.1的

当我试图在UITextField中水平居中一些文本时,我遇到了一个奇怪(而且非常恼人)的错误

我已经使用序列图像板放置了一个UITextField,纯文本(非属性化)将水平对齐设置为中心。文本在情节提要中显示为正确对齐(居中),但对于不同版本的iOS以及模拟器和真实设备之间给出了不同的结果:

iOS 7.0版iPad模拟器:

  • 非编辑模式:居中
  • 编辑模式:居中
  • 离开编辑模式后:居中
iOS 7.1版模拟机iPad:

  • 非编辑模式:左对齐
  • 编辑模式:居中
  • 编辑模式后:居中
配备iOS 7.1的iPad Air:

  • 非编辑模式:左对齐
  • 编辑模式:居中
  • 编辑模式后:左对齐
在setText之前或之后设置NSTextAlignmentCenter无效


这是iOS 7.1中的一个bug吗?有没有人遇到过同样的问题,甚至有解决方案?

我在iOS8中遇到过类似的问题。看起来像是一个iOS错误,它使文本可选择

如果在故事板中选择文本,则一切正常。 如果它在故事板中不可选择,则它总是左对齐

我的UITextView位于一个表格单元格中,我发现我可以在cellForRowAtIndexPath中设置selectable:NO,并且它仍然与故事板中的selectable on正确对齐(在本例中居中)


在模拟器(iOS 7.1和8.1)和设备(iOS 8.1)上测试。

我有相同的错误,这是我的修复。对于UITextView,在代码中设置其文本对齐方式并调用其方法LayoutIfNeed()。如果这对任何人都有影响的话,我在设置文本后就这么做了

我在iOS 8.4和Xcode 6.4的模拟器上测试了它。希望有帮助