2016-05-11 11 views
0

xibに2つのボタンを追加しようとしていますが、いずれのボタンもタップに応答していません。私はここでこれについて同様の質問を行ってきましたが、実際の解決策はまだ見つかりませんでした。XIBのUIButtonsがタップに応答しない

xibには、バックグラウンドビュー - >小さいビュー - > 2つのサイドバイサイドボタンが兄弟の小さなビューで分割されています。

ボタンはxibの最上位レイヤーです。すべてのスーパービューと兄弟ビューでuserInteraction &クリップサブビューを有効にしました。

ビューが初期化されているときにヒットしているビューのコントローラクラスにブレークポイントが設定されています。私はできるだけクラスを単純化しましたが、いずれかのタブをタブすると何も起こりません。このビューは、期待どおりに反応しているテーブルビューの最上部に位置しています。

xibファイルとコントローラファイルを取り出し、サンプルアプリケーションに追加しました。それは同じ問題を呈しています。このサンプルアプリケーションのコードをこの記事の最後に添付しました。

PageSwitchViewController *pageSwitchViewController = [PageSwitchViewController new]; 
[pageSwitchViewController.view setFrame:CGRectMake(0, ([UIScreen mainScreen].bounds.size.height - [pageControlHeight integerValue]), [UIScreen mainScreen].bounds.size.width, [pageControlHeight integerValue])]; 
[self.view addSubview:pageSwitchViewController.view]; 
+1

通常、nibファイルはファイル所有者に関連付けられていますが、UIControlEventTouchUpInsideからのアクションをviewControllerシーンではなくファイル所有者に追加しようとします。 –

+0

これは別の問題の症状でしょうか?ペン先のファイル所有者は、IBActionsを配置しているコントローラと同じコントローラです。 – ids

+0

xcodeのビューデバッガーボタンをタップして、ボタンが表示されているかどうか、そのフレームはボタンより大きく、他のビューがボタンの前に来ていないかどうかを確認してください。 –

答えて

0

はそれを考え出した:ここ

screenshot

は、私は私のrootVCにXIBを追加initに使用していたコードです。

[self.view addSubview:pageSwitchViewController.view]; 

私はビューを追加しているので、残りのコントローラをメモリに保存していないためです。私は親コントローラのクラスにコントローラのプライベートプロパティを追加し、今度はボタンが期待どおりに動作しています。

関連する問題