2010-12-31 8 views
0

私はiPhoneプログラミングの初心者です。私は2つの簡単な質問があります。UIButton - 全画面をタッチするために使用

1)UIViewがUIButtonのようなタッチに反応すると思っていましたが、サブクラス化する必要があります。私はまだそこにいません。だから私の汚れた小さな解決策は、すべての上にUIButtonを配置し、フルスクリーンにして、押されたときや無効になったときに色の変化を止めることでした。これは素晴らしい作品、私のアプリは、画面の任意の部分に応答し、ボタンが押されているように見えません。だから私の質問の最初の部分はこれです:これは悪いですか?もしそうなら、なぜですか?

2)画面のほぼすべての部分が応答します。なんらかの理由で、ディスプレイの底面の5%程度がタッチに反応せず、なぜ私にはわかりません。ボタンは下に引き伸ばされ、タッチを傍受するためにそこには何もありません。何か案は?

ありがとうございます!

答えて

0

タッチをキャプチャするには、ビューコントローラ内で必要な次のいずれかの方法を実装するだけで済みます.UIButtonを使用すると、(やや邪魔になりますが)いくぶん難しいので、提供できる機能の種類が制限されます。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event 
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event 
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event 

これらのイベントの詳細については、UIResponder class referenceを参照してください。

上記の各方法と、提供されたUIEventデータをどのように処理するかについて詳しくは、multi-touch tutorial over on iPhone SDK Articlesもあります。

2番目の点では、私は個人的にディスプレイの底に向かって小さな「デッドゾーン」(ホームボタンが「ボトム」)であることに気付いた - これは単なる私は本当に詳細にそれを調べていないことを告白する必要があります。

+0

ポートレートモードのディスプレイの5%は、ステータスバーのサイズとほぼ同じです。今、私は彼が彼の電話の底を言っていることを知っているが、彼は方向をサポートしていない彼のアプリで間違った方向に電話を保持している可能性があります。ちょっとした考え。私はあなたが私のデバイスのいずれかで話すこの死んだ場所を持っていません。 – jer

+0

それは電話だけではなく、UIButtonの死んだ場所もシミュレータにあります。私はそれが使用されることを意図していない方法でUIButtonを使用することの副作用だと確信しています。ディスプレイの表示領域の下にボタンを伸ばすと、画面全体がもう一度タッチできます。もちろんそれをやっている厄介な小さな方法。 – Glib

関連する問題