ユーザーが画面をダブルタップすると、もう一度ダブルタップするまですべてのボタンが消えるようにジェスチャーを作成したいと思います。
答えをこんにちはと低いで検索しましたが、私はもっと頑張る必要があると思います...助けてくださいハハ
.hと.mに何が入るかをそれぞれ指定していただければ幸いです。
ばかげた質問をもう一度ごめんなさい...
試しましたbutton.hidden = YES;
か?
NSTimmer または sleep() 関数を使用してダブルタップ間の遅延を作成する方法を学びます。
ボタンのアニメーションを出し入れするつもりなら[button setAlpha:0]
、
[button setAlpha:1]
もっと便利なことがわかるかもしれませんが、粗い例を許してください:
- methodTheDoubleTapGuestureCalls
{
if (button.alpha == 0)
[UIView animateWithDuration:0.5 animations:^{
[button.alpha setAlpha:1];
}
}
}
ジェスチャに苦労している場合、iOS 5 では、ジェスチャ認識機能を Interface Builder のビューにドラッグし、関心のあるジェスチャを設定してからセレクタにリンクできます。
UIGestureRecognizer
クラスを試してみてください。
この実装により、事前定義されたさまざまなユーザー インタラクションを認識することができます。
UITapGestureRecognizer
必要なサブクラスです。
コントローラーでは、次のことができます。
// Do this in your viewDidLoad
// Instance variable
recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doubleTap)];
[recognizer setMinimumNumberOfTouches:2];
[recognizer setMaximumNumberOfTouches:2];
ボタンのメソッドを追加します。
- (void) doubleTap {
//Hide/unhide buttons
}
ボタンについては、最初にそれらをアウトレット (キーワード IBOutlet を持つインスタンス変数) として追加し、それらをビューに追加する必要があります。必ずリンクしてください。ここを参照してください。
それらをリンクすると、次のステートメントを使用して非表示/非表示にできます。
最初のオプション:
buttonOne.hidden = !buttonOne.hidden
buttonTwo.hidden = !buttonTwo.hidden
2 番目のオプション:
//Add a instance variable hideButtons of type BOOL. I prefer this, your always sure the hidden value for each button has the same value.
hideButtons = !hideButtons
buttonOne.hidden = hideButtons
buttonTwo.hidden = hideButtons
viewDidLoad では、明示的に hideButtons を初期値に設定する必要があります。ブール値がfalseの場合は必須ではありませんが、わかりやすくするために常に行っています。
これがお役に立てば幸いです。