UIButton没有改变标题

时间:2011-07-16 00:43:10

标签: iphone objective-c ios cocoa-touch uibutton

我在Interface Builder中有一个UIButton,其初始标题为“Use Current Location”。上面有一个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

此方法未按预期执行,但每次都会记录正确的语句。按钮的标题不会改变。

特别感谢任何帮助。

3 个答案:

答案 0 :(得分:9)

检查Interface Builder中的连接,确保按钮已连接到其插座,并且文本字段的委托已正确设置。

答案 1 :(得分:1)

您的“go”按钮是否正确连接?打印go按钮地址并检查它是否为非空。

答案 2 :(得分:1)

肯定与按钮未正确链接有关。 但是,显而易见的是,当您记录正确的日志语句时,您已经拥有了UITextField的委托。

祝你好运!