UITextField不更新setText

时间:2013-06-02 12:41:41

标签: ios uitextfield settext

我知道有很多关于这个问题的问题,但我已经阅读了他们的每个人,我仍然有问题,在另外一个问题中,解决方案是添加一个属性,或者如果要求忘记将其链接到视图控制器。我已经做了所有这些,但仍然无法更新!

我的.h:

@property(strong,nonatomic) IBOutlet UITextField *textField;

-(void)setCoords:(NSString *)coordinates tag:(int)tag;

的.m

@synthesize textField;

设置从另一个视图切换时调用的文本的函数:

-(void)setCoords:(NSString *)coordinates tag:(int)tag {
    NSLog(@"1 %@", textField);
    textField = [[UITextField alloc] initWithFrame:CGRectMake(0,0,206,30)];
    NSLog(@"2 %@", textField);
    if (tag == 0) {
       [textField setText:coordinates];
       [self.view addSubview:textField];
       NSLog(@"3 %@", textField);
    }
    NSLog(@"%@", textField.text);
}    

output中的NSLog始终为NULL,但如果我NSLog字符串coordinates,我只会收到字符串。

我有什么遗漏/不知道/或做错了吗?

更新更新功能

NSLog 1 loggs NULL
NSLog 2 loggs <UITextField> 0x855b300; frame: = (0 0; 206 30) and some more stuff.
NSLog 3 loggs same as log 2

3 个答案:

答案 0 :(得分:0)

您的if (tag == 0) [textField setText:(coordinates)];行没有被排除。

检查tag==0条件,如果不能验证为真。

答案 1 :(得分:0)

首先记录文本字段(可能是零)。然后记录文本字段的标记,最后记录坐标字符串。再次运行。现在你知道了这个问题。

答案 2 :(得分:0)

我遇到了在Interface Builder中创建UITextView的问题。一切都正确连接,我确保我的NSLogged值确保它们出现。

要检查两件事:

  1. 确保您的文字颜色未设置为清除! (用占位符文本测试)
  2. 您必须在Interface Builder中为&#34; Selectable&#34;设置复选标记。文本。如果您不想选择它,则必须在设置文本值后以编程方式将其更改为OFF。
  3. 我的问题是#2。这绝对是一个XCode错误,但我很高兴我解决它而不会太疯狂。