4

iPhone 6 シミュレーターで実行しているアプリをテストすると、すべてが期待どおりに機能します。しかし、iPhone 5 または iPhone 5.1 シミュレーターでテストすると、ボタン イベントが発生しないようです。私はストーリーボードを使用せずにXcode 4.5.2を使用しており、次のようなアクションを持つ単純なボタンでテストを行いました:

- (IBAction)test:(id)sender {

    NSLog(@"YEES");
}

アクションは、インターフェイス ビルダーでドラッグ アンド ドロップを使用して接続されます。私はそれを解雇することができないようです..何が問題であるかについて何か考えがありますか?

1月18日更新:

iPhone 5/5.1 シミュレーターでボタンを「通常の」クリックをしても、何も起こりません。ボタンを少し「ゆっくり」クリックすると、ボタンは「押され」/選択されます。ボタンを 3 秒間押し続けるなど、「非常に遅い」クリックを行うと、ボタン クリック イベントが発生します。これはどのように可能ですか??

4

3 に答える 3

3

私の場合の解決策を見つけました - UITapGestureRecognizer をコンテナー UIView に追加し、UIButtons の前にイベントをインターセプトし、ボタンがタップを処理できるようになるまでにしばらく時間がかかります...しかし、iOS 6 ですべてが正常に動作するのは奇妙です

これを避けるには、次のように呼び出すだけです。

[tapRecognizer setCancelsTouchesInView:NO];
于 2013-03-20T20:54:16.007 に答える
0

これは、ビューの重複の問題である可能性があると本当に思っています。ビューコントローラーで使用しているビューに色を付け、ビューのいずれかがボタンと重なっているかどうかを確認してください

于 2013-01-18T01:10:36.823 に答える
0

iPhone 5s シミュレーターでも同様の問題がありました。試行錯誤の結果、シミュレーターのボタンの高さが 0 または小さい数値であることがわかりました...最初の手がかりは、背景色を変更したときに、シミュレーターに背景が表示されなかったことです (より大きなシミュレーターでは、 6 または 6 plus のように、高さ全体ではなく細い線として表示されます)。次に、高さの制約を追加すると、クリック イベントの受け入れが開始されました。これは問題の特定に役立ちましたが、探していた解決策ではありませんでした。最初はサイズの制約なしでボタンを配置したので、実際のサイズは固有のサイズによって決定されるはずでした。そのため、高さの制約の代わりに、ボタンの垂直方向の圧縮抵抗を「必須」に変更しました。これで問題は解決しました。

于 2016-01-04T01:33:30.023 に答える