2016-08-10 21 views
1

プロトタイプセルが定義され、完全に機能するUICollectionViewでビューコントローラが設定されています。あなたがプロトタイプのセルをタップすると、その特定のセルの「スケジュール」ビューに移動するようにセグを設定しました。これも素晴らしいです。- [UIButton _layoutAttributes]:インスタンスに送信された認識できないセレクタ

しかし、ここでは、ボタンをタップしたセルの別のビューコントローラ(設定)に行くために別のセグを使用するプロトタイプセル(またはスイッチ)にボタンを追加します。

ボタンを作成してCtrlキーを押しながらクリックし、移動したいView Controllerにドラッグしました。セグが作成され、すべて正常に表示されます。私はアプリを実行すると、ボタン(どんなにセル)をタップしたときにしかし、それはエラーを与える:

- [UIButton _layoutAttributes]:認識されていないセレクタはインスタンスに

を送った私は「何を把握することはできませんよくやった。上記の説明から明らかなことはありますか?必要に応じてコードを投稿することができますが、この場合、どのように役立つのか分かりません。すべての設定はストーリーボードで行います。設定ビューコントローラにはコードはありません。

エラーは、ボタンをタップすると、prepareForSegueが呼び出される前に発生するように見えます。

+0

後、完全なクラッシュログ

@interface <your custom class here> : UICollectionViewCell @property (weak, nonatomic) IBOutlet UIButton *buttonOnCell; //<-- Connect outlet to prototype cell. @end 

-collectionView:cellForItemAtIndexPath:でデキューセルの後に以下の行を追加します。 – Droppy

答えて

1

ボタン付きのプロトタイプセルがあり、そのボタンのsegueをAFAIKと誤って使用しています。理由は、これはプロトタイプのセルは実際のセルではなく、実行中にセルのインスタンスを作成するためのテンプレートであると言います。

これは次のようにする必要があります:

  1. -collectionView:cellForItemAtIndexPath:UIButton
  2. SourceControllerからDestinationControllerにセグエを取り付けます(いずれも電池もボタンから)
  3. でプロトタイプセルを定義し、特定のボタン
  4. ため -addTarget:action:forControlEvents:を追加
  5. 上記ステップで指定されたアクションメソッド内の何でも- performSegueWithIdentifier:sender:を処理します。

は編集:-addTarget:action

UICollectionViewCellサブクラスでボタンを宣言し、プロトタイプのセルにUIButtonにコンセントを接続します。次のように

[cell.buttonOnCell addTarget:self action:@selector(actionOnButton:) forControlEvents:UIControlEventTouchUpInside]; 
    return cell; 

があなたのViewController方法を定義します:

- (void)actionOnButton:(UIButton*)button 
{ 
    // your code here depending on the button pressed 
} 
+0

ありがとう、それは私の必要なもののように聞こえる。私はあなたが提案したようにセグを作成しましたが、-addTargetの使い方がわかりません: セグはメインビューコントローラから「設定」ビューコントローラまでです。ボタンはPrototypeセルにあります。 -collectionView:cellForItemAtIndexPath:コードはメインビューコントローラ実装ファイルにあります。では、そこからプロトタイプセル上のオブジェクト(ボタン)にターゲットを設定するにはどうすればよいですか? – fuddus

+0

@fuddusコレクションセルのカスタムクラスを定義しましたか? –

+0

はい私はUICollectionViewCellからサブクラス化されたカスタムクラスを持っています。 – fuddus

関連する問題