我有隐藏文本字段的问题

时间:2014-08-20 13:18:12

标签: ios xcode

我创建了一个条形按钮项。这将切换12个文本字段'公开程度。我尝试了下面的方法,但即使我点击按钮,它的标题是=隐藏,它仍然调用第一种方法。

- (IBAction)namesButton:(id)sender {
if ((self.namesButton.title = @"Names")) {
_text1.hidden = FALSE;
    _text2.hidden = FALSE;
    _text3.hidden = FALSE;
    _text4.hidden = FALSE;
    _text5.hidden = FALSE;
    _text6.hidden = FALSE;
    _text7.hidden = FALSE;
    _text8.hidden = FALSE;
    _text9.hidden = FALSE;
    _text10.hidden = FALSE;
    _text11.hidden = FALSE;
    _text12.hidden = FALSE;
    self.namesButton.title = @"Hide";
    NSLog(@"Now Showing");
    return;

}
 else if ((_namesButton.title = @"Hide")) {
    _text1.hidden = TRUE;
    _text2.hidden = TRUE;
    _text3.hidden = TRUE;
    _text4.hidden = TRUE;
    _text5.hidden = TRUE;
    _text6.hidden = TRUE;
    _text7.hidden = TRUE;
    _text8.hidden = TRUE;
    _text9.hidden = TRUE;
    _text10.hidden = TRUE;
    _text11.hidden = TRUE;
    _text12.hidden = TRUE;
    self.namesButton.title = @"Names";
     NSLog(@"Now Hidden");

}

}

3 个答案:

答案 0 :(得分:1)

这是因为(self.namesButton.title = @"Names")为标题指定了一个值而没有检查它。

如果要比较if使用==中的值,但不能使用strings对象中的==

==比较对象的指针及其值,因此对于NSString比较,您应该使用([self.namesButton.title isEqualToString:@"Names"])来检查字符串是否相等。

答案 1 :(得分:0)

不要使用=,请使用isEqualToString,如下所示:

[self.namesButton.title isEqualToString:@"Names"]

答案 2 :(得分:0)

使用此:

- (IBAction)namesButton:(id)sender {
    if ([self.namesButton.titleLabel.text isEqualToString: @"Names"]) {
        [self.namesButton setTitle: @"Hide" forState:UIControlStateNormal];
        _text1.hidden = FALSE;
        _text2.hidden = FALSE;
        _text3.hidden = FALSE;
        _text4.hidden = FALSE;
        _text5.hidden = FALSE;
        _text6.hidden = FALSE;
        _text7.hidden = FALSE;
        _text8.hidden = FALSE;
        _text9.hidden = FALSE;
        _text10.hidden = FALSE;
        _text11.hidden = FALSE;
        _text12.hidden = FALSE;
        NSLog(@"Now Showing");
        return;

    }
    else if ([self.namesButton.titleLabel.text isEqualToString: @"Hide"]) {
        [self.namesButton setTitle: @"Names" forState:UIControlStateNormal];
        _text1.hidden = TRUE;
        _text2.hidden = TRUE;
        _text3.hidden = TRUE;
        _text4.hidden = TRUE;
        _text5.hidden = TRUE;
        _text6.hidden = TRUE;
        _text7.hidden = TRUE;
        _text8.hidden = TRUE;
        _text9.hidden = TRUE;
        _text10.hidden = TRUE;
        _text11.hidden = TRUE;
        _text12.hidden = TRUE;
        NSLog(@"Now Hidden");

    }
}