0

私は現在、音楽プレーヤーを含むアプリを開発しています。現在のところ、再生、一時停止、現在再生中の曲を表示する曲選択ボタンがあります。現在、プレーヤーは常に画面に表示されています。ページの中央にボタンがあり、ユーザーがそれをクリックすると、再生、一時停止、曲の選択ボタン/アイコンが付いたメディアプレーヤー全体が表示されるようにしたいと思います。彼らがその真ん中のボタンをもう一度クリックすると、それらのアイコンが非表示になります。

チュートリアルがすでに出ているかどうかにかかわらず、誰かが私を正しい方向に向けることができれば、または他の議論(私は実際には何も見つかりませんでした)は素晴らしいでしょう!

注:Facebookが使用するポップオーバーメニューを作成しようとはしていません。このメニュー/オーディオプレーヤーは、現在のビュー上で水平方向に拡大/縮小します

前もって感謝します!!!!

4

2 に答える 2

1

ビューオブジェクトの.hiddenプロパティ(ビューを表示/非表示にすることができます)、および.frameプロパティ(場所、高さ/幅の設定)を使用して画面上でビューを移動する機能を調べる必要があるようです。 )。

あなたが達成しようとしている効果についてのより詳細な情報がなければ、それ以上のことを言うのは難しいです。インターフェイスビルダーを使用して表示するビュー/UIオブジェクトを設定する場合は、ベースビューをインターフェイスビルダーで非表示に設定し、ユーザーがボタンをクリックすると、そのビューに.hidden=NOを設定できます。

注:このようにすべてを1つの単位として表示/非表示にできるようにするには、Interface Builderで単一のUIViewオブジェクトをコンテナー(必要なサイズと配置)として使用し、コントローラーボタンをサブとして追加することを前提としています。 -その単一のビュー内のオブジェクト。これにより、含まれているビューに.hiddenプロパティを設定するだけで、すべてを表示/非表示にできます。

于 2013-03-20T21:57:25.737 に答える
0

あなたが探している視覚効果は正確にはわかりませんが、あなたはすでにそれを言っていると思います-ただそれらを隠してください。

あなたはそれをいくつかの方法で行うことができます。

簡単な方法の1つは、これらの要素を独自のビュー内に配置することです。ストーリーボードまたはxibファイルを使用します。非表示にするボタンとコントロールをビューに配置します。

次に、ViewControllerでそのビューへの参照を作成します。それをcontrolsViewと呼びます。

 @property (strong,nonatomic) IBOutlet UIView *controlsView;

そのビューを接続していることを確認してください。

次に、ボタンが押されたら、そのビュー全体を非表示にします。

 self.controlsView.hidden = YES;

もう一度押すと、次のように表示されます。

 self.controlsView.hidden = NO;

少し滑らかなルックアンドフィールが必要な場合は、次のようなアニメーションでラップします。

  //to hide
  [UIView animateWithDuration:2 animations:^{
       [self.controlsView setAlpha:0];
  } completion {
       self.controlsView.hidden = YES;
  }];

  //to show
  self.controlsView.alpha = 0;
  self.controlsView.hidden = NO;
  [UIView animateWithDuration:2 animations:^{
       [self.controlsView setAlpha:1.0];
  } completion {

  }];

それが役立つことを願っています

于 2013-03-20T22:01:56.687 に答える