0

私はタブ バー アプリケーションを持っています。最初のビュー コントローラーには、右上隅に設定 UIButton があります。ランドスケープ モードに回転すると、タッチ イベントは受け入れられません。縦向きに回転します。ビュー コントローラを切り替えて、元に戻します。すべてが両方の方向で正常に機能します。

興味深いことに、横向きモードの右側にもある UITableView は、その特定の部分でのタッチ イベントのみを受け入れるようです。設定UIButtonをその部分のすぐ外側に移動すると、View Controllerを切り替えなくても期待どおりに機能します。(私はあなたが考えていることを知っています。何かがその上にあります。私が知る限り、私はすべてのビューとサブビューを別の背景を持つように変更しました。場違いであったり、期待どおりでなかったりするものは何もありません。

関連するすべてのコンポーネントの設定を含めています...

TabBarViewController 属性

ここに画像の説明を入力

FirstViewController 属性

ここに画像の説明を入力

Settings UIButton が子であるビュー属性を含む

ここに画像の説明を入力

Settings UIButton が子であるビュー メトリックを含む

ここに画像の説明を入力

設定 UIButton 属性

ここに画像の説明を入力

設定 UIButton メトリクス

ここに画像の説明を入力

設定 UIButton 接続

ここに画像の説明を入力

FirstViewController の要素の Z オーダー

ここに画像の説明を入力

新しい TabBar プロジェクトを開いてテストしましたが、すべて正常に動作します。右側に何かがあるように見えますが、何もないようです。

4

2 に答える 2

1

問題は、ビューまたはビュー コントローラーの「フレームが設定されていません」です。向きを変更しても、ビュー/ビューコントローラーのフレームが変更されていないことを確認する必要があります。SubViews は position に従って表示されますが、parentview のフレームがランドスケープ モードに従っていないことは確かです。そのため、テーブルも応答していません。向きが変わったときに、境界をビューのフレームとして設定してみてください。

于 2013-11-10T05:20:40.700 に答える