0

私は完全に私を混乱させている問題を抱えています。以下のコードを見てください。これは「iPhone4開発の開始」の第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

InterfaceBuilderでコンセントを配線するのを忘れたようです。ブレークポイントまたはNSLogを使用してこのメ​​ソッドを呼び出す場合は、leftSwitchとrightSwitchの値を確認してください。

于 2011-05-09T22:40:49.553 に答える