0

我目前正在开发一个包含音乐播放器的应用程序。到目前为止,它有一个播放、暂停和一个显示当前正在播放的歌曲的选择歌曲按钮。现在,玩家总是在屏幕上。我想让它在页面中间有一个按钮,这样当用户点击它时,就会出现带有播放、暂停和选择歌曲按钮/图标的整个媒体播放器。当他们再次单击该中间按钮时,它将隐藏这些图标。

如果有人能指出我正确的方向,无论是已经发布的教程,还是其他讨论(我真的找不到任何讨论),那就太棒了!

注意:我不是要制作 facebook 使用的弹出菜单。此菜单/音频播放器将在当前视图上水平展开/缩回

先感谢您!!!!

4

2 回答 2

1

听起来您需要查看视图对象的 .hidden 属性(允许您使视图可见/不可见),以及可能使用 .frame 属性在屏幕上移动视图的能力(设置位置、高度/宽度)。

如果没有关于您要达到的效果的更详细信息,很难说更多。如果您使用界面构建器来设置要显示的视图/UI 对象,您可以简单地在界面构建器中将基本视图设置为隐藏,然后当用户单击您的按钮时,为该视图设置 .hidden=NO。

注意:为了能够像这样将所有内容显示/隐藏为一个单元,我假设您在界面构建器中使用单个 UIView 对象作为容器(大小并放置在您想要的位置),然后将您的控制器按钮添加为子-该单个视图内的对象。这允许您通过为包含视图设置 .hidden 属性来显示/隐藏所有内容。

于 2013-03-20T21:57:25.737 回答
0

我不确定你在寻找什么样的视觉效果,但我想你已经说过了——把它们隐藏起来。

你可以通过几种方式做到这一点。

一种简单的方法是将这些元素放在他们自己的视图中。使用情节提要或 xib 文件。将您想要隐藏的按钮和控件显示在视图中。

然后在您的视图控制器中创建对该视图的引用。称它为控件视图。

 @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 回答