zoukankan      html  css  js  c++  java
  • iOS开发--QQ音乐练习,旋转动画的实现,音乐工具类的封装,定时器的使用技巧,SliderBar的事件处理

    一.旋转动画的实现

    二.音乐工具类的封装 -- 返回所有歌曲,返回当前播放歌曲,设置当前播放歌曲,返回下一首歌曲,返回上一首歌曲方法的实现

    • 头文件

    • .m文件
       1 #import "ChaosMusicTool.h"
       2 #import "MJExtension.h"
       3 #import "ChaosMusic.h"
       4 
       5 static NSArray *_musics;
       6 static ChaosMusic *_playingMusic;
       7 
       8 @implementation ChaosMusicTool
       9 
      10 + (void)initialize
      11 {
      12     if (_musics == nil) {
      13         _musics = [ChaosMusic objectArrayWithFilename:@"Musics.plist"];
      14     }
      15     // 设置默认当前播放歌曲
      16     _playingMusic = _musics[1];
      17 }
      18 
      19 /** 返回所有歌曲 */
      20 + (NSArray *)musics
      21 {
      22     return _musics;
      23 }
      24 /** 返回正在播放歌曲 */
      25 + (ChaosMusic *)playingMusic
      26 {
      27     return _playingMusic;
      28 }
      29 /** 返回下一首 */
      30 + (ChaosMusic *)nextMusic
      31 {
      32     // 1.获得当前播放歌曲的索引
      33     NSInteger index = [_musics indexOfObject:_playingMusic];
      34     // 2.判断下一个索引
      35     NSInteger nextIndex = ++index;
      36     if (nextIndex >= _musics.count) { // 是否超出界限
      37         nextIndex = 0;
      38     }
      39     return _musics[nextIndex];
      40 }
      41 
      42 /** 返回上一首 */
      43 + (ChaosMusic *)previousMusic
      44 {
      45     // 1.获得当前播放歌曲的索引
      46     NSInteger index = [_musics indexOfObject:_playingMusic];
      47     // 2.判断下一个索引
      48     NSInteger previousIndex = --index;
      49     if (previousIndex < 0) { // 是否超出界限
      50         previousIndex = _musics.count - 1;
      51     }
      52     return _musics[previousIndex];
      53 }
      54 /** 设置当前播放歌曲 */
      55 + (void)setPlayingMusic:(ChaosMusic *)music
      56 {
      57     _playingMusic = music;
      58 }
      59 @end

    三.定时器的使用技巧 -- 定义好了定时器后,添加两个方法,一个是添加定时器的方法,另一个是移除定时器的方法.

    • 使用的时候也要注意,一定先移除之前的timer,然后再添加timer

    四.SliderBar的事件处理

  • 相关阅读:
    FastDFS迁移步骤
    Centos7 单节点安装 FastDFS + FastDHT服务
    CentOS 7.0 上安装和配置 VNC 服务器
    Ubuntu 18.04 安装 Xfce桌面和VNC的方法
    Ubuntu 16.04设置root用户登录图形界面
    Windows批量查找文件
    WIN10打开网络共享文件夹提示0x80004005怎么解决?(转载)
    ack 工具
    win7/win10 未分配磁盘怎样创建扩展分区 也就是逻辑分区(转截)
    [bzoj4842][bzoj1283][Neerc2016]Delight for a Cat/序列_线性规划_费用流
  • 原文地址:https://www.cnblogs.com/gchlcc/p/5582457.html
Copyright © 2011-2022 走看看