コレクションビューアイテムとそのプロトタイプビューがあります。そのプロトタイプビュー内に、小さなxボタンがあります。そのボタンで、その上にある正確なコレクションビューアイテムを削除したいと思います。
xボタンの周りのスペースをクリックすると、選択したアイテムを削除できますが、アイテムをクリックする前にボタンをクリックすると、最後に選択したアイテムのみが消去されます。
アイデア?
コレクションビューアイテムとそのプロトタイプビューがあります。そのプロトタイプビュー内に、小さなxボタンがあります。そのボタンで、その上にある正確なコレクションビューアイテムを削除したいと思います。
xボタンの周りのスペースをクリックすると、選択したアイテムを削除できますが、アイテムをクリックする前にボタンをクリックすると、最後に選択したアイテムのみが消去されます。
アイデア?
さて、これは楽しいはずです!
ステップ1:のメソッドシグネチャを次のように変更removeQuartzPlayer
します。
-(void)removeQuartzPlayer:(id)aPlayer;
aPlayer
削除したいプレーヤーはどこになりますか。実装を次のように変更します。
[quartzPlayerArrayController removeObject:aPlayer];
ここquartzPlayerArrayController
は、コレクションビューが接続されているNSArrayControllerへのアウトレットの名前に置き換えられます。まだ持っていない場合は、IBOutletを作成する方法を理解できると信じています。
ステップ1ポイント5:ボタンとremoveQuartzPlayer
IBのメソッドの間の接続を削除します。
ステップ2:IBインスペクターの[バインディング]ペインに切り替えます。「ターゲット」バインディングを選択し、次のようにします。
「コントローラー」ポップアップは、コントローラーを指すオブジェクトに設定されます。
ステップ3:「引数」バインディングを選択し、次のようにします。
「コレクションビューアイテム」ポップアップが表示される場所...アイデアが浮かびます。
ステップ4:Cocoa Bindingsの(暗い)魔法によってもたらされた新しいボタンをお楽しみください!
免責事項:私は実際にこれをテストしていませんが、似たようなことをするボタンがあるので、動作するはずです。私が何かを台無しにした場合はコメントしてください。
ビリー