誰かが私を助けてくれますか?座標がオブジェクトの元の座標と等しいかどうかを比較する方法
主な情報から始めましょう:私は2つのビューを持ち、1つはInfoViewと呼ばれるアプリケーションを作成しました。このInfoViewのは、次のコードで画面をオフに位置しています:アプリの起動時に
(コードビューを非表示にする)
UIView.animateWithDuration(1.0, delay: 0.3, options: [ ], animations: {self.InfoView.center.x -= self.view.bounds.width + 150}, completion: nil)
ITSは自動的に移動しました。 ViewDidAppearにコード非表示ビューを配置しました。
ボタンInfoを押すと、InfoViewは左から右に元の座標に戻るようになります(x = 12、y = 20のストーリーボードに配置すると、ビューサイズは画面サイズによって異なります)。私はそれを戻すために次のコードを使用します。
(コードビューの表示)
UIView.animateWithDuration(1.0, delay: 0.0, options: [ ], animations: {self.InfoView.center.x += self.view.bounds.width + 150}, completion: nil)
InfoViewのはそのオフスクリーンれるように、再び(コードビューを非表示)を押したときには、ビューを隠すというボタンがあります。
私の問題は、Iphoneが電話(電話またはSMSなど)を受け取った場合、電話が終了した後、画面にInfoViewが表示され、Show View Codeを押すことなく表示されることです。 アイブ氏はその後でビューを隠さ:
InfoView.Hidden = True
そして、私はビューの表示コードを実行するときには、falseに変更し、それを隠したときに、それはようにtrueになります。しかし、今すぐ電話を受けた後、通話が終了した後InfoViewが表示されません(InfoViewが表示されません)。Info Infoボタンを押すと、InfoViewが突然画面に表示され、到達不能(画面外)です。
私の質問では、InfoViewの座標を比較する方法があるため、画面上に表示されていても表示されていない場合は、表示ビューを実行して画面に戻すことができます。 if文と同様です。以下のような例:
if InfoView == CGPoint(12,20).... //(Then Run Hide View)
(私はif文が間違っている知っている)と私はapplicationWillResignActiveでアプリデリゲートにそのFUNCを実行するようになったことを理解します。
誰かが私を助けることができますか、私は正しい道にいるのですか、誰かが私に別の解決策を教えてください。 (私にそれをよりよく説明する必要がある場合は教えてください)
この問題は、表示されていないか表示されていません。問題は、コールが受信されるとInfoViewの位置が画面の左側にあるオフスクリーンから画面上に現れるように変更され、InfoViewが実行されている場合は画面の右側がアニメーション化されます。 –