2016-04-11 6 views
2

私はiOSアプリケーション開発とobjective-cコーディングで初めてです。私はそれが可能かどうか分からない。まず、私が何をしたのかを説明してから、私が何をしたいのかを説明しましょう。私はあなたが直接それを見ることができるスクリーンショットを追加したか、最初に説明を読んでから、スクリーンショットを見てください。iosカスタムコントローラリダイレクトobj-cコードをカスタムビューに配置する方法

私はカスタムビューで添付されたカスタムxibを作成しました。 Menu.hと.cとして名前をつけました。

私はそこに4つのボタンを配置しています。それぞれのボタンには、カスタムビューのIBOutletも作成されています。実行時に作成されるようになりました。私は、「ユーザー定義の実行時属性」設定の下で、ストーリーボードのコントローラーのプロパティを設定する必要がありませんでした。私はawakeFromNib関数を使用してカスタムビューでその値を取得することができます。これで、これらのボタンのプロパティに簡単にアクセスして変更することができます。私もこのコードでこれらのボタンにアクションを加えることができます

[btnOutlet addTarget:self action:@selector(btnPressed:) forControlEvents:UIControlEventTouchUpInside]; 

そして、私は私の行動を得ています。

しかし、私は何をしようとしていることは、私は、カスタムビューでそれを置くしようとすると、それは今コントローラで正常に作動しているが、

 NSString * storyboardName = @"Main"; 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:storyboardName bundle: nil]; 
    ViewController * vc = [storyboard instantiateViewControllerWithIdentifier:@"ViewController"]; 
    [ViewController presentViewController:vc animated:YES completion:nil]; 

を次のようにコントローラのリダイレクトコードを使用することができることですそのボタンアクションには、私にエラーが表示されます "メニュー 'がセレクタを宣言したための目に見えるインターフェースがありません"。私は以下のスクリーンショットを追加しました。

no visible interface for 'Menu' declared the selector

私はこれを解決するために何ができるかを提案してください?それは私をナッツにしています。 :)

+0

であなたのViewController

[self performSegueWithIdentifier:@"ViewControllerSegue"]; 

とセットアップを呼び出す 'presentViewController'が満たさhodは 'UIViewController'サブクラスに対してのみ宣言されています。あなたの 'Menu'クラスは' UIViewController'から継承していないようです – redent84

+0

あなたのカスタムクラスのスーパークラスはどれですか? –

+0

はい、あなたは正しいredent84です。 UIView Payal Maniyarです – tushersuvro

答えて

0

ストーリーボードを使用するときは、セグを使用する方が良いです。別のビューコントローラにビューコントローラ(プッシュ)からIBの1を追加し、performSegueメソッドを呼び出します。

[self performSegueWithIdentifier: @"MySegue" sender: self]; 
0

あなたがのUIViewControllerサブクラスであることを確認してください。アーキテクチャの観点から、

は、ビュークラスにそのようなコードをしない代わりに、あなたのストーリーボードでのViewController(のみのUIViewControllerのサブクラスでは、このような方法のしたがって可用性)

を使用するユニークでセグエを作成その後、例えば "ViewControllerSegue" などの識別子

- (void)prepareForSegue:(UIStoryboardSegue *)segue 
      sender:(id)sender; 
関連する問題