objective-c - NSSegmentedControl -selectedSegment 始终返回 0

标签 objective-c cocoa interface-builder segment nssegmentedcontrol

我有一个 NSSegmentedControl,其中两个段在界面生成器中设置为“无选择”模式。无论我尝试什么,我都无法让 -selectedSegment 返回除 0 之外的任何内容,即使默认情况下段 0 甚至被禁用并且不可能被选择。以下是当您单击控件上的任何部分时调用的相关函数:

-(IBAction)changeStep:(id)sender
{
    [stepContainer setHidden:TRUE];
    [(NSView *)[[wizard stepArray] objectAtIndex:(NSInteger)[wizard step]] removeFromSuperview];
    switch ([[navigationButton cell] selectedSegment])
    {
    case 0:
        [wizard setStep:(NSInteger *)[wizard step]-1];
        break;
    case 1:
        [wizard setStep:(NSInteger *)[wizard step]+1];
        break;
    default:
        break;
    }
    //[[navigationButton cell] setSelected:FALSE forSegment:[navigationButton selectedSegment]];

    if ([wizard step] > 0)
    {
        [wizard setStep:0];
        [navigationButton setEnabled:FALSE forSegment:0];
    }

    NSLog(@"%d", [wizard step]);
    [stepContainer addSubview:(NSView *)[[wizard stepArray] objectAtIndex:(NSInteger)[wizard step]]];
    [stepContainer setHidden:FALSE withFade:TRUE];
}

我也尝试过使用 -isSelectedForSegment,但它具有相同的结果。
你能提供的任何帮助都会很棒,我不知道我做错了什么。谢谢!
球体猫1

编辑:这是一个捂脸的时刻,请参阅下面我的回答。

最佳答案

好吧,这是一个捂脸的时刻。事实证明,我的 NSLogging 是错误的,而且我的步长递增/递减逻辑中存在错误。

一切都好起来了! :)

捂脸
球体猫1

关于objective-c - NSSegmentedControl -selectedSegment 始终返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2846100/

相关文章:

cocoa - 使用 MagicalRecord 设计在后台保存的策略

iphone - 以编程方式检查内存使用情况(Cocoa)

ios - Stark White 导航 Controller

Xcode 4 界面生成器 : How to set File's Owner

iphone - 如果你有很多静态数据,如何遵循 MVC?

objective-c - Finder 无法识别自定义 UTI

iphone - 通过 Iphone 的视频流

ios - UICollectionView 部分标题闪烁问题

ios - 合并托管对象上下文后,托管对象属性变为 nil

xcode - 是否有支持的方法从 nib 文件收集属性而不初始化实际对象?