想要使用该视图上的“删除”按钮删除特定的集合视图项

时间:2010-04-09 00:18:56

标签: objective-c macos nsbutton nscollectionviewitem

我有一个集合视图项及其原型视图。在原型视图中,我有一个小x按钮。我希望该按钮删除它所在的确切集合视图项。

如果单击x按钮周围的空间,我可以删除所选项目但是如果我在点击该项目之前直接点击该按钮,它将只删除最后选择的项目。

想法?

1 个答案:

答案 0 :(得分:2)

好吧,这应该很有趣!

第一步:将removeQuartzPlayer的方法签名更改为:

-(void)removeQuartzPlayer:(id)aPlayer;

aPlayer将成为您要删除的玩家。将实现更改为如下所示:

[quartzPlayerArrayController removeObject:aPlayer];

其中quartzPlayerArrayController将替换为您的集合视图所连接的NSArrayController的插座名称。我相信你可以弄清楚如何创建一个IBOutlet,如果你还没有它。

步骤一点五:删除按钮与IB中的removeQuartzPlayer方法之间的连接。

第二步:切换到IB Inspector的Bindings窗格。选择“目标”绑定并使其如下所示:

IB Bindings pane 1

“Controller”弹出窗口将设置为指向控制器的任何对象。

第三步:选择“Argument”绑定并使其如下所示:

IB Bindings pane 2

“收集查看项目”弹出窗口......你明白了。

第四步:享受你的新按钮,通过Cocoa Bindings的(黑暗)魔法带给你!

免责声明:我实际上没有对此进行测试,但由于我有一个类似的按钮,它应该可以工作。如果我搞砸了什么,请评论 比利