1

'すべて。

私はiPhone用のアプリの最後の部分にいて、実行中のバックグラウンドプロセスのステータス(ロケーションマネージャーの精度)についてフィードバックを送り、それを下部に配置したいアプリのセクションにいることがわかりました。画面の左側。これにより、ユーザーが私のアプリから受け取った特定の検索結果について、私たちがどれほど「確信」しているかを知ることができます。

いくつかの問題。これはナビゲーションベースのアプリです(ご存知のとおり)。画面の左下のタブバーの上に角が丸い(たとえば)高さ40ピクセル、幅80(またはそれくらい)のピクセル幅の半透明の黒(おそらくアルファ.6)ボックスをフロートさせたい。必要に応じて(ロケーションマネージャーが呼び出されたときに)表示し、ロケーションマネージャーを停止すると消えるようにしたいのですが、アプリのすべてのビューでアプリの上に浮かんで、ユーザーがアプリ内を移動するときにタッチをブロックしないでください。これはすべて可能ですか?そして、もしそうなら、どのように?コードが最適ですが、私は最初から最後までの解決策を求めていません。

私は次のものを「取得」しません:

  • アプリのすべてのビューの上にボックスを常に表示できるかどうかわかりません。
  • どこから始めますか...それを構築するためにどの「オブジェクト」を使用しますか?CALayer?CGRect?(たとえば)「精度:10」と言いたい(そして数字の色を変えてもらいたい...それが私がそれを置くことができるオブジェクトに私を制限するかどうかわからない。
  • タッチをブロックすることはできません。そして、ユーザーが画面に触れてビューを変更したときにアプリの上に浮いたままになるようにするのが好きです。

これはすべて可能ですか?もしそうなら、誰かが私に良い出発点を与えることができますか?ロケーションマネージャーの値を取得するために必要なすべてのプログラミングがあります...しかし、他のビューを画面から押し出さずに他のビューの上にビューを配置する方法がわかりません...またはこのようなもの...ブロックしてAlertViewです..私が必要とするアイテムではありません:

// this is not the answer for what I need
baseAlert = [[[UIAlertView alloc] initWithTitle:@"One Moment" message:nil delegate:self cancelButtonTitle:nil otherButtonTitles: nil] autorelease];
[baseAlert show];
// Create and add the activity indicator
UIActivityIndicatorView *aiv = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
aiv.center = CGPointMake(baseAlert.bounds.size.width / 2.0f, baseAlert.bounds.size.height - 40.0f);
[aiv startAnimating];
[baseAlert addSubview:aiv];
[aiv release];

私にとって完璧なのは(そしてそれができるかどうかはわかりませんが)、iPhoneのステータスバーの下に電話をかけているときにアップルが表示する「電話に戻る」緑色のステータスバーです。プログラマーは利用できません。

とにかく、どんな助けもいただければ幸いです。事前にThx。

4

1 に答える 1

1

UIViewを作成し、サブビューとしてメイン ウィンドウに追加できるはずです。

それはあなたが持っている他のものの上に表示されます。その後、userInteractionEnabledプロパティを使用して、そのビューのユーザー操作を無効にすることができます。

于 2010-02-16T21:20:44.413 に答える