UIButton标题未改变

3

我在Interface Builder中有一个UIButton,初始标题为“使用当前位置”。上面有一个UITextField,用户可以在其中输入地址或邮政编码。这两个按钮和文本字段都是IBOutlets。

包含这些项的视图控制器是一个UITextFieldDelegate。在委托方法(BOOL)textFieldShouldReturn:(UITextField *)textField中,我想根据文本字段是否有任何内容来更改按钮标题。我的方法如下:

-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
    NSLog([textField text]);

    if([[textField text] length] == 0)
    {
        NSLog(@"AAAAAAAAA");
        [go setTitle:@"Use Current Location" forState:UIControlStateNormal];
    }
    else
    {
        NSLog(@"BBBBBBB");
        [go setTitle:@"Use This Address" forState:UIControlStateNormal];
    }
    [textField resignFirstResponder];
    return YES;
}

注意:goUIButton
这种方法并没有按预期执行,但每次都记录了正确的语句。按钮标题只是没有改变。
非常感谢任何帮助。

2
我要说的是 NSLog(@"%@", go) 输出的是 nil - bshirley
3个回答

9

检查接口生成器中的连接,确保按钮已连接到它的输出口并且文本字段的委托正确设置。


谢谢,我有点傻。因为发布这个问题而感到有点尴尬。没有正确连接按钮。 - Mason

1
你的“go”按钮连接正常吗?打印出该按钮的地址并检查它是否非空。

1

肯定与按钮未正确链接有关。 然而,显然您的UITextField委托已经起作用,因为您正在记录正确的日志声明。

祝好运!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接