0

1 つの既存のアプリケーションのアプリ内購入を開発しています。シナリオは、最初は無効になっているアプリケーション (UITextField コントロールを含む) に機能があり、ユーザーがその UITextField をタップすると、その機能のロックを解除して購入するメッセージが表示され、完了すると UITextField が有効になります。

しかし問題は、UITextField が最初に無効になっているため、そのタップを検出できないため、アプリ内購入機能をコーディングできるイベントを取得できないことです。

また

無効になっている UIControl のタップを検出できない場合、上記の機能を実現するための他のオプションは何ですか。

助けてください。

よろしく、プライク

4

4 に答える 4

2

次のようなボタンを作成して、テキスト領域に非表示のボタンを配置します。

    UIButton* button = [[UIButton buttonWithType:UIButtonTypeCustom] 保持];
    button.frame =CGRectMake(ここにパラメータ);
    button.showsTouchWhenHighlighted=YES; // デバッグに便利
    [button addTarget:self action:@selector(buttonPress:) forControlEvents:UIControlEventTouchUpInside];

サブビューとして追加します。達成しようとしているものと UITextField が含まれているものに応じて、追加する必要があるものは異なる場合があります。

于 2010-02-01T06:19:12.017 に答える
0

私が覚えていることのうち、無効なビューのサブビューも無効になっているので、あなたの「機能」は無効なビューだと思います。無効になっていないビュー (たとえば、UIWindow、または任意のサブビュー) に UIControl を配置して、一番上に表示することができます。100%確実ではありませんが、うまくいくはずです。

于 2010-02-01T06:18:07.110 に答える
0

サブクラス化してメソッドをフックしない限り、無効化されたタップをUIControl直接検出するのは簡単ではありません-touchesXXXXX:withEvents:

ただし、アクティブで透明なUIControlものを無効なものの上に重ねて、タップを引き継ぐことができます。購入が完了したら、透明なコントロールを削除します。

于 2010-02-01T06:18:35.640 に答える
0

ユーザーは無効化されたボタンを押すことをどのように知るのでしょうか? 押したときに何が起こるかを明確にする無効化されていないボタンを提供することをお勧めします。

于 2010-02-01T07:19:00.023 に答える