0

我遇到了一个让我完全困惑的问题。请看下面的代码,它来自“Beginning iPhone 4 Development”一书第 4 章。我是新手 :)

- (IBAction)toggleControls:(id)sender
{
    if([sender selectedSegmentIndex] == kSwitchesSegmentIndex)
    {
        NSLog(@"Show switches");
        [self.leftSwitch setHidden:NO];
        [self.rightSwitch setHidden:NO];
        [self.doSomethingButton setHidden:YES];
    } 
    else
    {
        NSLog(@"Hide switches");
        [self.leftSwitch setHidden:YES];
        [self.rightSwitch setHidden:YES];
        [self.doSomethingButton setHidden:NO];
    }

}

奇怪的是它正确记录了这一点,但 ui 控件没有隐藏/显示。我也试过这个(原书):

- (IBAction)toggleControls:(id)sender
{
    if([sender selectedSegmentIndex] == kSwitchesSegmentIndex)
    {
        NSLog(@"Show switches");
        leftSwitch.hidden = NO;
        rightSwitch.hidden = NO;
        doSomethingButton.hidden = YES;
    } 
    else
    {
        NSLog(@"Hide switches");
        leftSwitch.hidden = YES;
        rightSwitch.hidden = YES;
        doSomethingButton.hidden = NO;
    }
}
4

1 回答 1

2

听起来您可能忘记在 Interface Builder 中连接您的插座。使用断点或 NSLog 调用此方法时,检查 leftSwitch 和 rightSwitch 的值。

于 2011-05-09T22:40:49.553 回答