NSMatrix的按钮和Bind问题

时间:2011-07-27 14:43:28

标签: objective-c cocoa

这是我的情况:

  • 包含4个按钮的NSMatrix(无线电模式)

  • 具有“top”,“left”,“right”,“bottom”和相对objectController属性的对象。

  • 每个按钮都有一个状态绑定到objectController键之一(顶部,左侧,右侧,底部)。

无线电模式让我确保一次只有一个按钮有state = on,我的问题是当我选择一个按钮时,链接到objcet控制器的对象属性变为1,但前一个被选中(现在状态= off)不会转到0(按钮视图正常工作,并且当时只有1个按钮处于活动状态。)

如何在绑定对象上获得开/关效果?

1 个答案:

答案 0 :(得分:2)

您应该将selectedIndex本身的NSMatrix绑定绑定到模型中的属性,而不是绑定每个按钮。

您需要使用单个属性更改在代码中存储选定边的方式:

typedef enum {
    TopEdge = 0,
    RightEdge,
    BottomEdge,
    LeftEdge
} Edge;

@property Edge currentEdge;

这将允许您跟踪当前选择的索引。