Ios6 iOS 6:UITextField textAlignment不会更改光标位置

Ios6 iOS 6:UITextField textAlignment不会更改光标位置,ios6,uitextfield,text-alignment,Ios6,Uitextfield,Text Alignment,我使用UITextField的一个实例,其中文本通常向右对齐,但在编辑时切换为向左对齐。这是通过调用editingdidbegen事件上的setTextAlignment:完成的。自从更新到IOS 6,这一行为非常奇怪:文本对齐从右到左被正确地改变,但是光标仍然保留在文本字段的最右边,直到执行某些输入。p> 是否有人知道如何恢复预期的行为,以便在更改对齐方式时光标也会移动 给出一些上下文:我使用文本字段来显示带有单位的值。该单元在编辑过程中被删除,然后在用户点击enter键后再次显示 在事件Ed

我使用UITextField的一个实例,其中文本通常向右对齐,但在编辑时切换为向左对齐。这是通过调用
editingdidbegen
事件上的
setTextAlignment:
完成的。自从更新到IOS 6,这一行为非常奇怪:文本对齐从右到左被正确地改变,但是光标仍然保留在文本字段的最右边,直到执行某些输入。p> 是否有人知道如何恢复预期的行为,以便在更改对齐方式时光标也会移动

给出一些上下文:我使用文本字段来显示带有单位的值。该单元在编辑过程中被删除,然后在用户点击enter键后再次显示

在事件EditingDidBegen上调用的方法:

- (IBAction)textEditingDidBegin:(UITextField *)sender
{
    [sender setTextAlignment:NSTextAlignmentLeft];
    [sender setText:[NSString stringWithFormat:@"%.0f", width]];
}
在事件EditingDiEnd上调用的方法:

- (IBAction)textEditingDidEnd:(id)sender
{
    [sender setTextAlignment:UITextAlignmentRight];
    [sender setText:[NSString stringWithFormat:@"%.0f m", width]];
}

在编辑开始之前更改文本对齐方式。我知道最好的方法是在UITextFieldDelegate方法中
textfield应该开始编辑

尝试将textView重新指定为第一响应者,然后让它成为第一响应者

textView.textAlignment = NSTextAlignmentCenter;
[textView resignFirstResponder];
[textView becomeFirstResponder];

谢谢,这帮了大忙!
textView.textAlignment = NSTextAlignmentCenter;
[textView resignFirstResponder];
[textView becomeFirstResponder];