0

インターフェイスに 3 つの UIButton があります。テキストとカスタムの背景画像があります。画像が歪まないように、これらのボタンのサイズを明示的に設定しました。ボタンにまったく制約がない場合、ボタンは正常に機能します。サイズを固定しようとし始め、それらを下に固定して互いに中央に配置しようとすると、タッチの受け入れが停止します。まあ、それは完全に真実ではありません: ボタンの上部にある小さなボックスへのタッチを受け入れます。ボタンの残りの部分へのタッチは無視されます。フレームとボタンの境界を印刷しましたが、設定したものから変更されていません。ただし、ボタンの半分以上にまだタッチが登録されていません。背景画像は、これ全体で変更されません。

タッチが検出されない理由を理解するのに役立つものはありますか?

編集:いくつかの調査を行った後、非常に紛らわしい問題があるようです。私が説明した問題は、4 インチのデバイスでのみ発生します。4 インチ デバイスで実行する場合、メイン ビューの背景色を「デフォルト」に設定すると、画面の下部に黒い大きな帯が表示されます。ヒット検出が機能しないのは、この領域です。これは IB では表示されません。IB はビューを画面の正しいサイズとして表示するだけだからです。

これは古いアプリで、もともと iOS 4 用に展開されたものだと思います。UIWindow の設定に何か問題があるのか​​、それとも何が起こったのかわかりません。

4

2 に答える 2

0

結局のところ、これは古いアプリであるため、MainWindow.xib ファイルが含まれていました。そして、そのMainWindow.xibファイルでは、「起動時にフルスクリーン」という設定が設定されていませんでした。それが完全に機能する原因となった設定。

于 2013-11-14T20:21:16.750 に答える
0

サブビュー配列をウォークし、すべてのフレームをログに記録します。ほぼ確実に、他のビューがボタンに重なっています。

したがって、viewDidAppear でサブビュー配列を取得し、各ビューのフレームを出力します。

これは、「デッド」ボタン領域に関連して私が今まで見た唯一の問題です。

于 2013-11-14T20:02:14.003 に答える